>  기사  >  백엔드 개발  >  자식 창 개체를 해제하지 않고 자식 창을 닫는 C#의 방법에 대한 자세한 소개입니다.

자식 창 개체를 해제하지 않고 자식 창을 닫는 C#의 방법에 대한 자세한 소개입니다.

黄舟
黄舟원래의
2017-03-27 11:49:191919검색

아래 편집기는 하위 창 개체 를 해제하지 않고 하위 창을 닫는 C# 메서드를 제공합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 편집기를 따라가며 살펴보겠습니다.

온라인 스캐닝 카메라의 디버깅 프로세스 중에 위치를 구성하려면 디버깅 인터페이스를 열어야 합니다. 디버깅 후 일반적인 방법은 디버깅 매개변수를 저장하고 다음 시작 시 로드하는 것입니다. 또 다른 간단한 방법은 이 매개변수를 사용하여 프로그램을 직접 실행하는 것입니다. 따라서 후자의 경우 구현해야 할 기능은 다음과 같습니다. 디버깅 창이 닫혀도 해당 창 개체는 해제되지 않습니다. 디버그 창의 개체는 기본 창이 닫힐 때까지 삭제되지 않습니다.

1 기본 창에서 하위 창을 인스턴스화

버튼에서 하위 창을 인스턴스화하는 대신 기본 창에서 하위 창을 인스턴스화합니다. 창 개체.

Form2 f2 = new Form2();

2 버튼을 통해 메인창 표시

버튼에서 구현해야 할 것은 창의 표시입니다

private void Config_Click(object sender, EventArgs e)
    {
      f2.Show();
    }

3 자식 윈도우 객체를 해제하지 않고 자식 윈도우를 닫는 방법

문의 및 확인 후 Dispose 메서드 수정 가능 자식 창에서. 다음과 같이 변경하세요:

 protected override void Dispose(bool disposing)
    {
      Hide();
      //if (disposing && (components != null))
      //{
      //  components.Dispose();
      //}
      //base.Dispose(disposing);
    }

4 상위 창이 닫히면 하위 창 개체를 삭제합니다.

하위 창 개체를 삭제해야 하므로 부모 창이 닫힐 때, 따라서 부모 창의 닫기 작업 FormClosed에 자식 창 f2의 소멸 함수 에 대한 호출을 추가합니다.

 private void Form1_FormClosed(object sender, FormClosedEventArgs e)
    {
      f2.Close();
    }

하위 윈도우 클래스에 추가된 닫기 함수는 다음과 같습니다.

 public void Close()
    {

      this.Dispose();

    }

위 내용은 자식 창 개체를 해제하지 않고 자식 창을 닫는 C#의 방법에 대한 자세한 소개입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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