这一讲主要是如何判断通过菜单或其他方式打开的窗体,是否有重复打开的问题,如果重复打开就直接激活原有窗体就可以了。

思路:

1、设置一个变量用于标示窗体是否被打开过,默认为false,即没有打开

2、打开窗体前先判断这个变量如果为false,则新生成一个窗口,反之将原有窗口激活。

上代码:

下面有两个窗体,WS窗体是软件启动的时候首先显示的窗体,Inform窗体是由托盘的菜单中的“设备信息”激活的窗体,我们在使用托盘菜单激活Inform窗体的时候要做判断,托盘菜单放置在WS窗体代码里面。

1、在WS窗体代码的托盘里面代码如下

第十讲:C# WinForm  检测窗口是否重复出现,如果重复出现则激活原窗体-LMLPHP

2、效果如下:

a、启动的时候软件首先显示WS窗体,然后计划通过托盘的菜单打开Inform窗体

第十讲:C# WinForm  检测窗口是否重复出现,如果重复出现则激活原窗体-LMLPHP

b、如果是第一次打开,则显示Inform且没有提示

c、这个时候点击WS,让WS处于激活状态。

d、此时通过菜单试图打开Inform窗体,则软件将inform窗体设置激活状态,并提示“重复”的对话框。

第十讲:C# WinForm  检测窗口是否重复出现,如果重复出现则激活原窗体-LMLPHP

09-28 16:04