아래 편집기는 하위 창 개체 를 해제하지 않고 하위 창을 닫는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!