在某些客户端计算机上,我收到此System.ComponentModel.Win32Exception: The operation completed successfully错误,这显然表明资源泄漏或达到每个进程 10000 个句柄的硬限制。
我正在查看代码以重构它,我用来创建窗口的模式是(简化的)
class MyForm : Form
{
public MyForm()
{
InitializeComponents()
}
//windows generated code
public void InitializeComponents()
{
myButton = new System.Windows.Forms.Button();
myButton.Click += new System.EventHandler(myButton1_Click);
}
private void button1_Click(object sender, EventArgs e)
{
Dispose();
}
}
//this will be called many times throughout the programs lifecycle
Form myForm = new Form()
myForm.ShowDialog();
每次显示窗口时重建按钮(实际上有许多组件)是否可能导致句柄问题?我认为 dispose 意味着没有,但我正在努力寻找可能导致问题的其他代码部分。