如何防止用户调整表单大小?

时间:2009-07-13 12:51:08

标签: vb.net winforms

我有一个需要在VB.net中最大化的表单。我不希望用户能够改变其大小或移动它。 我该怎么做?

11 个答案:

答案 0 :(得分:106)

设置突出显示的属性。将MaximimSize和MinimizeSize属性设置为相同大小

enter image description here

答案 1 :(得分:4)

//Set fixed border
yourForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D

//Set the state of your form to maximized       
yourForm.WindowState = FormWindowState.Maximized

//Disable the minimize box and the maximize box
yourForm.MinimizeBox = False
yourForm.MaximizeBox = False

答案 2 :(得分:3)

要阻止用户调整大小,请从属性窗口或代码中将FormBoderStyle设置为Fixed3D或FixedDialog

frmYour.BorderStyle = System.WinForms.FormBorderStyle.Fixed3D

并将WindowState属性设置为Maximized,将MaximizeBox和MinimizeBox属性设置为false。

为防止用户四处移动,请覆盖WndProc

Protected Overrides Sub WndProc(ByRef m As Message)
        Const WM_NCLBUTTONDOWN As Integer = 161
        Const WM_SYSCOMMAND As Integer = 274
        Const HTCAPTION As Integer = 2
        Const SC_MOVE As Integer = 61456

        If (m.Msg = WM_SYSCOMMAND) And (m.WParam.ToInt32() = SC_MOVE) Then
            Return
        End If

        If (m.Msg = WM_NCLBUTTONDOWN) And (m.WParam.ToInt32() = HTCAPTION) Then
            Return
        End If

        MyBase.WndProc(m)
    End Sub

答案 3 :(得分:2)

将窗口开始样式设置为最大化。然后,隐藏最小化和最大化按钮。

答案 4 :(得分:1)

在Form Load事件中添加一些代码:

me.maximumsize = new size(Width, Height)
me.minimumsize = me.maximumsize
me.maximizebox = false
me.minimizebox = false

示例:对于表单高度和宽度各50像素:

me.maximumsize = new size(50, 50)
me.minimumsize = me.maximumsize
me.maximizebox = false
me.minimizebox = false

请注意,将maximumsizeminimumsize设置为与此处所示相同的大小会阻止调整表单的大小。

答案 5 :(得分:1)

将FormBorderStyle设置为' FixedDialog'

FixedDialog

答案 6 :(得分:0)

您可以删除用户界面来控制它:

frmYour.MinimizeBox = False
frmYour.MaximizeBox = False

答案 7 :(得分:0)

如果要通过拖动sizegrips,最大化按钮以及双击标题文本来最大化来阻止调整大小,则可以在表单的load事件中插入以下代码:

    Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle ' Prevent size grips
    Me.MaximumSize = Me.Size ' Prevent maximize (also by doubleclick of header text)

当然,所有以“固定”开头的formborderstyle选择都可以。

答案 8 :(得分:-1)

将表单的最小和最大大小设置为相同的数字。不要显示最小和最大按钮。

答案 9 :(得分:-1)

只需在解决方案资源管理器中更改这些设置即可。

MaximizeBox = False
MinimizeBox = False 

ControlBox,Locked和FormBorderStyle等其他内容是额外的。

答案 10 :(得分:-5)

vb.net中有一个选项可以让你完成所有这些。

Set <code>lock = false</code> to <code>locked = true</code>

用户无法重新调整表单大小或移动它,虽然还有其他方法,我认为这是最好的。