programing

사용자가 양식 크기를 조정하지 못하도록 하려면 어떻게 해야 합니까?

javamemo 2023. 5. 15. 20:57
반응형

사용자가 양식 크기를 조정하지 못하도록 하려면 어떻게 해야 합니까?

저는 VB.net 에서 최대화해야 하는 양식을 가지고 있습니다.저는 사용자가 크기를 변경하거나 이동할 수 없기를 바랍니다.어떻게 해야 하나요?

강조 표시된 속성을 설정합니다.최대 크기 및 최소 크기 속성을 동일한 크기로 설정

여기에 이미지 설명 입력

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

사용자의 크기 조정을 방지하려면 속성 창 또는 코드에서 FormBoderStyle을 Fixed3D 또는 FixedDialog로 설정합니다.

frmYour.BorderStyle = System.WinForms.FormBorderStyle.Fixed3D

그리고 WindowState 속성을 Maximized로 설정하고 Maximize를 설정합니다.Box 및 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

창 시작 스타일을 최대화로 설정합니다.그런 다음 최소화 및 최대화 단추를 숨깁니다.

FormBorderStyle을 'FixedDialog'로 설정

고정 대화 상자

UI를 제거하여 다음을 사용하여 이를 제어할 수 있습니다.

frmYour.MinimizeBox = False
frmYour.MaximizeBox = False

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여기에 표시된 것과 동일한 크기로 설정하면 양식의 크기가 조정되지 않습니다.

크기 그립을 끌어 최대화 단추를 누르고 헤더 텍스트를 두 번 클릭하여 최대화하여 크기 조정을 방지하려면 양식의 로드 이벤트에 다음 코드를 삽입하십시오.

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

물론 고정으로 시작하는 양식 테두리 스타일의 모든 선택이 가능합니다.

양식의 최소 및 최대 크기를 동일한 숫자로 설정합니다.최소 및 최대 버튼을 표시하지 않습니다.

솔루션 탐색기에서 이러한 설정을 변경하기만 하면 됩니다.

MaximizeBox = False
MinimizeBox = False 

ControlBox, Locked 및 FormBorderStyle과 같은 기타 항목은 추가로 제공됩니다.

vb.net 에는 이 모든 작업을 수행할 수 있는 옵션이 있습니다.

<code>lock = false </code>를 <code>locked = true </code>로 설정합니다.

사용자는 양식의 크기를 조정하거나 이동할 수 없습니다. 다른 방법이 있지만, 이것이 가장 좋다고 생각합니다.

언급URL : https://stackoverflow.com/questions/1119256/how-do-i-prevent-a-form-from-being-resized-by-the-user

반응형