我有一个需要在VB.net中最大化的表单。我不希望用户能够改变其大小或移动它。 我该怎么做?
答案 0 :(得分:106)
设置突出显示的属性。将MaximimSize和MinimizeSize属性设置为相同大小
答案 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
请注意,将maximumsize
和minimumsize
设置为与此处所示相同的大小会阻止调整表单的大小。
答案 5 :(得分:1)
答案 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中有一个选项可以让你完成所有这些。
用户无法重新调整表单大小或移动它,虽然还有其他方法,我认为这是最好的。