【发布时间】:2017-01-06 07:19:28
【问题描述】:
我想显示一个名为 TTT 的表单,所以我尝试了这个:
public static TTT ttt_local = new TTT();
private void button1_Click(object sender, EventArgs e)
{
ttt_local.Show();
}
然后我想从内部关闭表单,以便ttt_local 在按下ttt_local 中的按钮时自行关闭。那行得通,但如果我想重新打开ttt_local,我会得到一个ObjectDisposedException。有人可以帮帮我吗?
【问题讨论】:
-
ttt_local.Dispose(); -
显示关闭表单的方式。我猜你需要的是 hide 表单而不是 close 它。
-
永远不要写这样的代码,Form 对象是一次性的。一旦关闭,就不能再使用了。并尝试再次使用它会产生 ODE。在需要时创建对象。如果要强制执行单实例行为,请订阅 FormClosed 事件以将 ttt_local 变量设置回 null。