Как предотвратить изменение размера формы пользователем?

У меня есть форма, которая должна быть максимальной в VB.net. Я не хочу, чтобы пользователь мог изменить свой размер или перемещать его. Как я могу это сделать?

Ответ 1

Установите выделенные свойства. Задайте свойства MaximimSize и MinimizeSize того же размера

enter image description here

Ответ 2

//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

Ответ 3

Чтобы пользователи не изменяли размер, установите для FormBoderStyle значение Fixed3D или FixedDialog из окна свойств или из кода

frmYour.BorderStyle = System.WinForms.FormBorderStyle.Fixed3D

И установите для свойства WindowState значение Maximumized, установите для свойств 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

Ответ 4

Задайте стиль начала окна как максимальный. Затем скройте кнопки минимизации и максимизации.

Ответ 5

Вы можете удалить пользовательский интерфейс, чтобы управлять этим с помощью:

frmYour.MinimizeBox = False
frmYour.MaximizeBox = False

Ответ 6

Добавьте код в событие "Загрузка формы":

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 того же размера, что и здесь, предотвращает изменение размера формы.

Ответ 7

Установите FormBorderStyle в "FixedDialog"

FixedDialog

Ответ 8

Если вы хотите предотвратить изменение размера с помощью перетаскивания таблиц размеров, а также с помощью кнопки "Развернуть" и "Развернуть", дважды щелкнув текст заголовка, вставьте следующий код в событие загрузки формы:

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

Конечно, подойдут все варианты форм-стиля, начиная с Fixed.

Ответ 9

Установите минимальный и максимальный размер формы на одинаковые номера. Не показывайте кнопки min и max.

Ответ 10

Просто измените эти параметры в Обозревателе решений.

MaximizeBox = False
MinimizeBox = False 

Другие вещи, такие как ControlBox, Locked и FormBorderStyle, являются дополнительными.

Ответ 11

В vb.net есть опция, которая позволяет вам делать все это.

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

Пользователь не сможет изменить размер формы или переместить ее, хотя есть другие способы, это я считаю лучшим.