最薄的框架

时间:2013-11-25 18:19:08

标签: c# winforms

我正在使用visual C#。我的应用程序需要一个非常薄的框架。

我尝试FormBorderStyle.NoneFormBorderStyle.FixedSingle,但我的框架中仍然有一些空的未使用空间,我该如何消除这个空闲空间?

我试过压缩框架,但它保持不变。

简而言之,我该如何改变:

Thick frame

到:

Thin frame

3 个答案:

答案 0 :(得分:1)

您可以尝试将TransparencyKey属性设置为颜色,并将背景设置为相同。这样,表单本身就是透明的,因此您不会看到按钮旁边的空白区域。

希望这有帮助。

(我还假设它是一个WinForms应用程序。)

您可以尝试的另一件事是覆盖窗口的绘制处理程序,如here所述。代码在VB中,但我希望你能管理。

以下是c#中的代码:

protected override void OnPaint(PaintEventArgs e)
{
    var r = ClientRectangle;
    // Here you can set the size of the form to any given size
    r.Width = 120;
    r.Height -= 1;
    // Here you draw a one pixel black border
    ControlPaint.DrawBorder(e.Graphics, r, Color.Black, ButtonBorderStyle.Solid);
}

答案 1 :(得分:0)

你可以使用FormBorderStyle.FixedToolWindow它会接受小尺寸,但它会有一个标题。

答案 2 :(得分:0)

经过大量的打击和试验:Overcome OS Imposed Windows Form Minimum Size Limit做得非常好。 感谢大家宝贵的时间。