在線掃描相機的調試過程中,需要開辟調試界面來進行位置的配置。調試結束后,一種常用的方式是將調試參數保存并在下次啟動時加載。另一種簡單方式是直接使用該參數運行程序。因此,在后一種情況下,需要實現的功能是:即使關閉調試窗口,其窗口對象也不釋放。除非其主窗口關閉,才銷毀其調試窗口的對象。
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#實現關閉子窗口而不釋放子窗口對象的方法 就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答