Windows Forms中设置FormBorderStyle.None无法去除窗体边框?
解决WinForms设置FormBorderStyle.None无效的问题
嘿,我一眼就发现问题所在啦!你写的代码里有个小错误——FormBorderStyle.None是枚举成员,不是可调用的方法,所以不能加括号()哦!这就是边框没被去掉的核心原因。
第一步:修正代码
把错误的写法:
this.FormBorderStyle = FormBorderStyle.None();
改成正确的枚举赋值:
this.FormBorderStyle = FormBorderStyle.None;
额外注意事项
- 构造函数里的执行顺序:如果是在窗体的构造函数中设置,一定要把这段代码放在
InitializeComponent();之后。因为设计器生成的InitializeComponent()方法里可能已经默认设置了窗体边框样式,放在后面才能覆盖默认值。
示例:public Form1() { InitializeComponent(); // 在这里设置才会生效 this.FormBorderStyle = FormBorderStyle.None; } - 设计器直接设置(更省心):你也可以不用写代码,直接在Visual Studio的窗体设计器里操作:
- 选中窗体,打开属性面板(按F4)
- 找到
FormBorderStyle属性,下拉选择None即可
- MDI子窗体特殊情况:如果你的窗体是MDI子窗体(即
IsMdiChild = true),那WinForms的MDI框架会限制你设置FormBorderStyle.None,这种情况你需要自定义绘制窗体边框,或者改用普通窗体而非MDI子窗体。
这样改完之后,窗体的边框应该就能成功去掉啦!
内容的提问来源于stack exchange,提问作者İbrahim Atiker
相关产品推荐
相关产品推荐

