C#Winforms |形状边框厚度

时间:2015-08-20 08:02:32

标签: c# winforms size border formborderstyle

是否有任何关于常规表格边框厚度的文件?

目标:
我创建了一个宽度为800px的userControl。我想用全分辨率(800px - 一切可见)的新实例提出一个弹出窗口(一般的普通形式)。

我的问题: 将表单设置为Form.Size.Width = 800不会这样做。看起来窗体的边框包含在窗体的width属性中。我需要减去那个边界。

我应该是这样的: 2px + 800px + 2px

如果您希望看到一些代码告诉我,但我认为这里没有必要。

修改

enter image description here

弹出控件后:

enter image description here

弹出式代码:

private void buttonPopup_Click(object sender, EventArgs e)
{
    Form MyPopup = new Form();
    customControl MyUserControl = new customControl();

    MyUserControl.Dock = DockStyle.Fill;

    Rectangle rc = MyUserControl.RectangleToScreen(MyUserControl.ClientRectangle);

    //int thickness = SystemInformation.Border3DSize.Width;
    //MyPopup.MaximumSize = new Size(MyUserControl.Size.Width + (thickness*2), 1500);

    MyPopup.Controls.Add(MyUserControl);
    MyPopup.MaximumSize = new Size(rc.Width, rc.Height);
    MyPopup.Show();
}

我的意思是你的代码看起来很合乎逻辑。但结果仍然是一样的。 userControl显示的小一点。我知道我已经使用dock = fill我的按钮没有专业地放置在布局中。但远离这一点,必须有一个解决方案,只需设置正确的大小

1 个答案:

答案 0 :(得分:5)

好像你正在寻找

CREATE PROCEDURE zzzzz_testtodelete
AS
BEGIN
    CREATE TABLE #a(idtmp bit)
    Exec sp_a
        @a = 1
    .....
    DROP TABLE #a

    CREATE TABLE #a(idtmp bit)
    Exec sp_a
        @a = 2
    .....
    DROP TABLE #a
END

另一个(和INHO,一个更好的一个)可能性是使用控件的int thickness = SystemInformation.Border3DSize; 。例如:

ClientRectangle