WinForms에는 양식을 최소화, 최대화 및 닫는 오른쪽 상단 모서리에 세 개의 상자가 있습니다. 내가 할 수 있기를 원하는 것은 닫기를 유지하면서 최소화와 최대화를 제거하는 것입니다.
나는 또한 닫기를 닫는 대신 양식을 최소화하도록 만드는 방법도 있습니다.
어떻게 할 수 있습니까?
답변:
에 및 Form
라는 두 개의 속성 이 있으며 둘 다로 설정합니다 .MinimizeBox
MaximizeBox
false
양식 닫기를 중지하려면 FormClosing
이벤트를 처리하고 e.Cancel = true;
거기에 설정 한 다음 설정을 설정 WindowState = FormWindowState.Minimized;
하여 양식을 최소화합니다.
핸들러를 FormClosing
이벤트에 바인딩 한 다음 e.Cancel = true
을 설정하고 양식을 설정합니다 this.WindowState = FormWindowState.Minimized
.
혹시 실제로 가까운 형태를 원하는 경우, 클래스 전체 부울을 _close
핸들러, 세트, 및 e.Cancel
에 !_close
따라서 사용자가를 클릭 할 때마다 것을, X
창에, 그것을 가까이하지 않습니다,하지만 할 수 있습니다 여전히 가까운 그것 (없이 그냥 죽이기)close = true; this.Close();
세트 (그리고 내 대답 완성을 위해) MaximizeBox
및 MinimizeBox
양식 속성을합니다 False
.
숨기려는 양식을 마우스 오른쪽 버튼으로 클릭하고 컨트롤-> 속성을 선택합니다.
속성에서
디자이너에서이 작업을 수행합니다.
단순히 양식 생성자 내부 최대화를 비활성화 할 수 있습니다.
public Form1(){
InitializeComponent();
MaximizeBox = false;
}
닫을 때 최소화합니다.
private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
e.Cancel = true;
WindowState = FormWindowState.Minimized;
}