主题:究竟该如何可靠的弹出新窗体?VC#中怎么这么麻烦?
yiran
[专家分:0] 发布于 2006-09-07 18:45:00
如何点击一个按钮弹出一个新的窗体?而且在原窗口中再次点击那个按钮,如果已经有窗体就显示,如果没有就new一个?
开始解决方法是用
Form2 f = new Form2();
f.Show();
可是这样可以回到原来的窗体上再次点击出现多个窗体,
改进了代码:
类中创建字段
private Form2 f = null;
按钮代码中写:
if (f == null) f = new Form2();
f.Show();
但是这样会报异常System.ObjectDisposedException
这样一个简单的问题怎么这么难解决?[em6]
回复列表 (共3个回复)
沙发
jzyray [专家分:20610] 发布于 2006-09-08 08:18:00
ShowDialog
板凳
yuhua [专家分:1730] 发布于 2006-09-08 09:12:00
if哪里有问题
如果已经show了,或者你给关了,你再show。。。
if(form==null||form.IsDisposed)
{
form=new Form2();
form.Show();
}
else
form.Focus();
这么写能满足,不过没什么意义吧?
3 楼
tujun [专家分:1190] 发布于 2006-09-08 17:57:00
Form2的Closed事件中:
f = null;
我来回复