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

解决方案 »

  1.   

    还是可以通过WindowState来设置的。
      

  2.   

    formBorderStyle 都没了,还能最小化\最大化\关闭?
      

  3.   

    可以通过WindowState来设置的。
    如果想要有最小化按钮效果就不能设为FormBorderStyle了,把还原和最大化False就行了。
      

  4.   

    同意楼上各位的意见。至于LZ要的最小化等按钮,没有边框的时候默认是没有的。但是你可以自己在Client内部放置几个按钮实现同样的功能。一般自己绘制界面的软件,Windows Live Message, Windows Media Player,Itunes都是这样做的。
      

  5.   

    FormBorderStyle改为none就没有系统自带的最小化功能了
    只能在客户区自己放个按钮什么的,WindowState设为最小化就可以了
      

  6.   

    formBorderStyle 都没了,当然没有最小化的按钮了。
    可以自己放个最小化图片上去。
    写个最小化事件
      

  7.   

    我是说右击Windows窗口栏(就是windows界面最下面那一排窗口,所有软件最小化以后所在的位置),该栏位没有"还原\移动\大小\最小化\最大化\关闭" 的菜单栏.
      

  8.   

    在系统任务栏下面出现的菜单和在窗口的标题上点右键出来的是同一个,如果窗口是无边的,那么系统将自动的把一些菜单项置为不可以使用。要想达到在这个菜单里使用被禁用的菜单,有这么几个思路可以考虑一下:
    1:获取这个系统菜单,删除里面被禁用的菜单,使用AppendMenu添加自已的菜单进去,给菜单设置ID并在WndProc里处理菜单的Click事件。2:窗口不设置为无边的,而是使用Form.Region设置为除去标题栏及四个边的区域,这样窗口在显示上是一个无边的窗口,系统菜单也会正常的显示,但是最大化等操作时候,标题栏及四个边处会留下空白区。但可以把最大化按纽禁用到。3:还是设置Form.Region除去标题栏及四个边,但在最大化或显示系统菜单的时候把其还原使显示出标题栏,这一点好像MSN的现在版本是这么做的。
      

  9.   

    你可以使用Form的Region属性来设置,通过SystemInformation.Border3DSize及CaptionHeight来确定边和标题栏的大小。
      

  10.   

    你可以这样来设置窗口的无边区域:
    protected override void OnLoad(EventArgs e)
    {
    base.OnLoad(e); Rectangle rect =new Rectangle(SystemInformation.Border3DSize.Width+1, SystemInformation.Border3DSize.Height+SystemInformation.CaptionHeight+1, this.ClientRectangle.Width, this.ClientRectangle.Height);
    Region reg = new Region(rect);
    this.Region = reg;
    }