ser*_*hio 16 .net c# controls dispose .net-2.0
.NET 2
// dynamic textbox adding
myTextBox = new TextBox();
this.Controls.Add(myTextBox);
// ... some code, finally
// dynamic textbox removing
myTextBox.Dispose();
// this.Controls.Remove(myTextBox); ?? is this needed
Run Code Online (Sandbox Code Playgroud)
SLa*_*aks 17
不,你没有.
我尝试过这个.
您可以将以下代码粘贴到LINQPad中:
var form = new Form();
var b = new Button();
form.Controls.Add(b);
b.Click += delegate { b.Dispose(); };
Application.Run(form);
Run Code Online (Sandbox Code Playgroud)
编辑:控件将从表单的Controls集合中删除.为了演示这一点,请使用以下内容替换单击处理程序:
b.Click += delegate { b.Dispose(); MessageBox.Show(form.Controls.Count.ToString());};
Run Code Online (Sandbox Code Playgroud)
它会显示出来0.
2 次编辑:Control.Dispose(bool disposing)包含以下代码:
if (parent != null) {
parent.Controls.Remove(this);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5622 次 |
| 最近记录: |