c#,隐藏"控制箱",winforms

Mar*_*rek 2 .net c# winforms

我只是不知道如何解释我的问题.所以我创建了一个图像.

(我不使用WPF)


所以现在我的问题与我的旧问题有关.

现在我的表格周围有了新的"酷"边框.

但是当我使用它只是工作FormBorderStyle.SizableToolWindowFormBorderStyle.Sizable否则是"无国界".

但我想拥有不可调整大小的形式......

我的解决方案很差

我可以使用maximumsize = this.size;,minimumsize = this.size但当我把光标放在边框上时,我的光标变为"调整大小"光标......这很难看......

我希望你能理解我.

谢谢

Bol*_*ock 7

您需要将表单设置为没有标题,并且如您所说,还要隐藏控件框.您可以在表单的" 属性"面板中更改这两个选项.

或者,在代码中:

public Form1()
{
    InitializeComponent();

    ControlBox = false;
    Text = "";
}
Run Code Online (Sandbox Code Playgroud)

请注意,这将导致您的表单无法分页(如果它尚未调整大小),您需要添加自己的控件来处理关闭表单.

编辑:防止窗口可调整大小阻止光标更改为调整大小句柄的一种方法是覆盖WndProc()窗体和截距的处理程序WM_NCHITTEST.

将此方法放在表单类中,并保持FormBorderStyleas FormBorderStyle.SizableFormBorderStyle.SizableToolWindow:

protected override void WndProc(ref Message message) 
{ 
    const int WM_NCHITTEST = 0x0084; 

    if (message.Msg == WM_NCHITTEST)
    {
        return; 
    }

    base.WndProc(ref message);
}
Run Code Online (Sandbox Code Playgroud)