0
我有一個主窗體,並且在這個主窗體上我添加了一個像下面這樣的用戶控件。在c#winforms中不調用BeginInvoke方法調用用戶控件的功能
objCustomer = new Customer();
objCustomer.Top = this.Top;
objCustomer.Left = this.Left;
this.BeginInvoke((MethodInvoker)delegate { this.Controls.Add(objCustomer); });
現在,在某些事件中,我必須卸載此控件並加載其他控件。
if (objCustomer != null)
{
this.Invoke((MethodInvoker)delegate { this.Controls.Remove(objCustomer); });
this.Invoke((MethodInvoker)delegate { objCustomer.Dispose(); });
}
objEmployee = new Employee();
objEmployee.Top = this.Top;
objEmployee.Left = this.Left;
this.BeginInvoke((MethodInvoker)delegate { this.Controls.Add(objEmployee); });
現在,客戶Dispose
功能我有一些常規呼籲從其它系統註銷。
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
Common.Log.LogEvent("Customer", "DisposedCall");
LogOffServer();
components.Dispose();
}
base.Dispose(disposing);
}
我相信這個Dispose事件沒有調用。
請幫幫我。
謝謝
Dispose方法用於UserControl。讓我檢查一下這個情況。 – Dips
你是對的。我現在解決了它。謝謝 – Dips
很高興我能幫上忙。 – jeuton