>백엔드 개발 >C++ >C#에서 새 양식을 올바르게 열고 현재 양식을 닫는 방법은 무엇입니까?

C#에서 새 양식을 올바르게 열고 현재 양식을 닫는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-06 13:17:39728검색

How to Properly Open a New Form and Close the Current Form in C#?

C#에서 새 양식을 열고 현재 양식을 닫는 방법

C# 애플리케이션을 개발할 때 다음 작업이 필요한 상황이 발생할 수 있습니다. 현재 양식의 버튼을 사용하여 새 양식을 열고, 현재 양식을 닫고, 새로 열린 양식에 집중하세요. 이를 달성할 수 있는 방법은 다음과 같습니다.

Steve의 솔루션

한 가지 일반적인 접근 방식은 다음 코드를 사용하는 것입니다.

private void Button1_Click(object sender, EventArgs e)
{
    var form2 = new Form2();
    form2.Show();
    this.Close();
}

그러나 이 솔루션은 결함이 있습니다. this.Close()가 호출되면 현재 양식과 새로 열린 양식(form2)이 모두 삭제됩니다. 이를 방지하려면 현재 양식을 닫는 대신 숨기는 것을 고려해야 합니다.

수정된 솔루션

새 양식을 열고 현재 양식을 닫으려면 다음을 사용하세요. 코드:

private void OnButton1Click(object sender, EventArgs e)
{
    this.Hide();
    var form2 = new Form2();
    form2.Closed += (s, args) => this.Close();
    form2.Show();
}

이 수정됨 해결 방법:

  • this.Hide()는 현재 양식을 숨깁니다.
  • 새 Form2 인스턴스(form2)가 생성되어 표시됩니다.
  • 이벤트 핸들러가 추가됩니다. form2의 Closed 이벤트에. 이 이벤트 핸들러는 form2가 닫힐 때 this.Close()를 호출하여 새 양식이 닫힌 후에만 현재 양식이 닫히도록 합니다.

이 접근 방식을 사용하면 새 양식(Form2)이 열립니다. 현재 양식(Form1)은 숨겨져 있다가 닫힙니다.

위 내용은 C#에서 새 양식을 올바르게 열고 현재 양식을 닫는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.