日期:2014-05-18  浏览次数:20933 次

Form 的 formBorderStyle 设置为 none 以后 为什么,窗口就不能最小化了呢?
Form 的 formBorderStyle 设置为 none 以后 为什么,窗口就不能最小化了呢?

------解决方案--------------------
还是可以通过WindowState来设置的。
------解决方案--------------------
可以通过WindowState来设置的。
如果想要有最小化按钮效果就不能设为FormBorderStyle了,把还原和最大化False就行了。
------解决方案--------------------
同意楼上各位的意见。至于LZ要的最小化等按钮,没有边框的时候默认是没有的。但是你可以自己在Client内部放置几个按钮实现同样的功能。一般自己绘制界面的软件,Windows Live Message, Windows Media Player,Itunes都是这样做的。
------解决方案--------------------
在系统任务栏下面出现的菜单和在窗口的标题上点右键出来的是同一个,如果窗口是无边的,那么系统将自动的把一些菜单项置为不可以使用。

要想达到在这个菜单里使用被禁用的菜单,有这么几个思路可以考虑一下:
1:获取这个系统菜单,删除里面被禁用的菜单,使用AppendMenu添加自已的菜单进去,给菜单设置ID并在WndProc里处理菜单的Click事件。

2:窗口不设置为无边的,而是使用Form.Region设置为除去标题栏及四个边的区域,这样窗口在显示上是一个无边的窗口,系统菜单也会正常的显示,但是最大化等操作时候,标题栏及四个边处会留下空白区。但可以把最大化按纽禁用到。

3:还是设置Form.Region除去标题栏及四个边,但在最大化或显示系统菜单的时候把其还原使显示出标题栏,这一点好像MSN的现在版本是这么做的。