首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

winform 下的弹出窗口有关问题

2012-03-16 
winform 下的弹出窗口问题我是在vs2003下的winform。用语言是vb.net我的问题是:我有一个form A,上面有三个

winform 下的弹出窗口问题
我是在vs2003下的winform。用语言是vb.net
我的问题是:
我有一个form A,上面有三个按钮,然后点下三个按钮会弹出不同的winform。当“a” button点了以后就弹出a from。。然后不能再点a button,但是我可以点A FORM下的“b”“c”button。当我关闭a form后,“a”button又可以点了。。

我想到两种解决方法:第一种是form A查看a form是否打开,然后设置a button的状态。。但是我不知道怎么查看a form是否打开。。因为form A和form a是两个FROM。。

第二种是当我关闭form a的时候让a button enable。。但是怎么样实现呢?还是不知道。。
请各位大哥大姐多多指点。。谢谢了

[解决办法]
FormMain
private void frmAClosed(object sender,EventArgs e)
{
btnA.Enabled = true;
}

private void btnA_Click(object sender,EventArgs e)
{
FormA a = new FormA();
a.FormClosed += FormClosed(frmAClosed);
btnA.Enabled = false;
}

[解决办法]
第一种方案完可以,在form A中定义一个Boolean类型的变量bOpen,设置成public,当打开时,将它的值设置成true;关闭时,设置成false;这样,你可以通过这个bOpen的值就可以确定窗体打开与否,不必用什么API什么.这是最好的方法.
第二种方法,也能实现,不如第一种简单;而且好实现;呵呵!
[解决办法]


Dim [Assembly] as system.reflection.assembly=new system.reflection.assembly.getexecutingassembly
-新建反射集合
Dim frm as new form
-定义窗体类型的变量
frm=assembly.createinstance("项目名+窗体名")
-利用反射赋值
frm.show
-调用

热点排行