2016-07-05 51 views
0

發射時不止一次我有我registred使用Autofac像活動使用Autofac

builder.RegisterAssemblyTypes(assembly) 
    .AssignableTo<Form>() 
    .As<IMyForm, MyForm>() 
    .AsImplementedInterfaces(); 

一切形式工作正常,但當我加Load事件MyForm的東西壞了happend。如果我第一次打開MyForm加載事件被觸發,但如果我打開它不止一次加載事件也會被觸發多次。爲了防止我添加OnClosing方法,看起來像那樣

protected override void OnClosing(CancelEventArgs e) 
{ 
    base.OnClosing(e); 
    Load -= MyForm_Load; 
} 

有沒有更好的方法來做到這一點?

回答

0

我會在MyForm_Load本身取消註冊事件,所以你更一致。我也不認爲你的代碼是錯誤的。