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

窗体A的FormBorderStyle=None时 按Ctrl+D隐藏所有窗口后,再激活其它窗口,窗体A为何会显示在桌面上解决方案

2012-01-11 
窗体A的FormBorderStyleNone时 按Ctrl+D隐藏所有窗口后,再激活其它窗口,窗体A为何会显示在桌面上问题如是

窗体A的FormBorderStyle=None时 按Ctrl+D隐藏所有窗口后,再激活其它窗口,窗体A为何会显示在桌面上
问题如是所示.
不知道有什么方法可用?
是不是应该处理WM_ACTIVATEAPP消息?
如果是又该如何捕获该消息?

[解决办法]
你可以通过重载wndproc去处理,大致思路如下:
1、首先设置一个开关,来处理wndproc中获得系统消息;
2、在窗体隐藏之后开启开关进行处理WM_ACTIVATEAPP消息。

不过以上由细节需要你去捉摸,此外要区分窗体激活是主动激活还是被动激活。
[解决办法]
呵呵,是有这个现象:)

当窗体无边框的时候和有边框确实是不样的.

其实还有很多其它的不一样的现象啊,
比如可以最大化到全屏,可以添加到一个其它的Control的Controls集合里,
这都是不一样.
[解决办法]
topmost为true?
[解决办法]
楼主真有意思,
我都说了是有这个现象,但这有什么关系呢?你想做到什么呢?
[解决办法]
还以为是什么事呢

这种情况很正常啊,很多对话框都这样。

比如那个调显示器分辨率的窗口,一样的,Win+D,然后随便再点击另一个窗口,那个调显示器分辨率的窗口照样显示出来。

热点排行