我有使用Autofac注册的表单
builder.RegisterAssemblyTypes(assembly)
.AssignableTo<Form>()
.As<IMyForm, MyForm>()
.AsImplementedInterfaces();
一切正常但是当我向MyForm添加Load事件时发生了一些不好的事情。如果我打开MyForm第一次加载事件被激活,但如果我多次打开它,那么load事件也会被多次触发。为了防止我添加OnClosing方法,看起来像
protected override void OnClosing(CancelEventArgs e)
{
base.OnClosing(e);
Load -= MyForm_Load;
}
有更好的方法吗?
答案 0 :(得分:0)
我会在MyForm_Load
本身取消注册该事件,以便您更加一致。另外我认为你的代码不对。