更改WinForm应用程序主窗体的边框

时间:2012-11-06 12:26:18

标签: .net winforms skinning winforms-interop wndproc

  

可能重复:
  Resize WinForm, with no border?

我希望我的WinForm应用程序没有任何边框。 但我仍然希望能够使用鼠标移动应用程序,调整应用程序的大小。

我怎样才能做到这一点?

我已经浏览了一些有关Stackoverflow的博客和问题,其中讨论了通过覆盖Windows WndProc类的Form方法将各种主题应用于WinForm。例如。 http://customerborderform.codeplex.com/

请注意,我不想应用各种皮肤或主题。我只想让边框消失(或使边框的厚度尽可能小,好像在窗体的主要客户区周围只有薄边框)。请注意,我根本不需要标题栏。

我使用的是.NET 4.0。

1 个答案:

答案 0 :(得分:0)

以下是moving a form without a titlebar上CodeProject的链接。 现在, 我知道 在图片中显示标题栏。但是,如果您下载代码,请删除表单Text并将ControlBox设置为false;你得到一个可移动且没有标题栏的表格。

我应该注意它仍然有一个边框(就像你提到的那样)

<强>更新 查看@HansPassant's own answer后(这也是一个非常好的解决方案) - 在CodeProject代码中将FormBorderStyle属性设置为None会完全删除边框并仍然可以使表单移动:

private void InitializeComponent()
{
    this.Text = String.Empty;
    this.ControlBox = false;
    this.FormBorderStyle = FormBorderStyle.None; 
    ....