WinForm에서 최소화 및 최대화를 비활성화 하시겠습니까?


99

WinForms에는 양식을 최소화, 최대화 및 닫는 오른쪽 상단 모서리에 세 개의 상자가 있습니다. 내가 할 수 있기를 원하는 것은 닫기를 유지하면서 최소화와 최대화를 제거하는 것입니다.

나는 또한 닫기를 닫는 대신 양식을 최소화하도록 만드는 방법도 있습니다.

어떻게 할 수 있습니까?

답변:


162

에 및 Form라는 두 개의 속성 이 있으며 둘 다로 설정합니다 .MinimizeBoxMaximizeBoxfalse

양식 닫기를 중지하려면 FormClosing이벤트를 처리하고 e.Cancel = true;거기에 설정 한 다음 설정을 설정 WindowState = FormWindowState.Minimized;하여 양식을 최소화합니다.


1
컨트롤 박스를 거짓으로 설정할 수는 없습니다.
krystan honour

3
@krystanhonour OP는 친밀감을 유지하고 싶었습니다.
Hans Olsson

16

속성 설정 MaximizeBoxMinimizeBox구성False


15

핸들러를 FormClosing이벤트에 바인딩 한 다음 e.Cancel = true을 설정하고 양식을 설정합니다 this.WindowState = FormWindowState.Minimized.

혹시 실제로 가까운 형태를 원하는 경우, 클래스 전체 부울을 _close핸들러, 세트, 및 e.Cancel!_close따라서 사용자가를 클릭 할 때마다 것을, X창에, 그것을 가까이하지 않습니다,하지만 할 수 있습니다 여전히 가까운 그것 (없이 그냥 죽이기)close = true; this.Close();

세트 (그리고 내 대답 완성을 위해) MaximizeBoxMinimizeBox양식 속성을합니다 False.


5

숨기려는 양식을 마우스 오른쪽 버튼으로 클릭하고 컨트롤-> 속성을 ​​선택합니다.

속성에서

  • 컨트롤 박스-> False
  • 상자 최소화-> 거짓
  • 상자 최대화-> 거짓

디자이너에서이 작업을 수행합니다.


4

닫을 때 양식을 최소화하는 방법은 이미 대답했지만 최소화 및 최대화 단추 를 제거 하는 방법 은 그렇지 않았습니다.
FormBorderStyle: FixedDialog
MinimizeBox: false
MaximizeBox:false


3

단순히 양식 생성자 내부 최대화를 비활성화 할 수 있습니다.

 public Form1(){
     InitializeComponent();
     MaximizeBox = false;
 }

닫을 때 최소화합니다.

private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
    e.Cancel = true;
    WindowState = FormWindowState.Minimized;
}

1
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}

2
제발 추가 답변에 약간의 설명을
mechnicov

내 친구가, 그것은 코드의 각 라인을 읽고, 아주 쉬운에만 있어야입니다
마우 케니

SO에 그것은 낮은 품질의 대답
mechnicov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.