C#高手进来看看

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:11:20
我做了两个窗体a,b ,然后a窗体作为父窗体,b做为子窗体
我在a 中打开b子窗体,我想做一个限制,只能打开一个b子窗体而不是无限新建子窗体b,如何加以限制
我自己的想法是:在父窗体中设置一个标志public bool F=true,当标志F为true时可以新建子窗体,当子窗体打开时标志F为false,当子窗体关闭时,将标志F设为true。但上怎么能让子窗体在关闭是将父窗体中的标志位F设为true
各位高手,都帮看看,如果有其他方法,就把我上面提的问都回答一下,谢谢!

我自己的想法是:在父窗体中设置一个标志public bool F=true,当标志F为true时可以新建子窗体,当子窗体打开时标志F为false,当子窗体关闭时,将标志F设为true。

你的想法不错,但这些都已经 有现成的了:
从题而看,你要做的是非模式窗体,非模式窗体就要定一个全局窗体对象(b子窗体):
Form2 b;
在显示b窗体的时候这样做:
if(b==null)
{
b=new Form2();
}
b.Show(this);

重写dispose()方法或formclosed事件里

做个静态属性不就可以了
public static bool F=true

然后在子窗体关闭的时候

父窗体.F = false;