Cハハサブウィンドウを閉じて、サブウィンドウオブジェクトを解放しない方法を実現する。


オンラインスキャンカメラのデバッグ中に、デバッグ画面を開いて位置の配置を行う必要があります。デバッグが完了したら、デバッグパラメータを保存して次の起動時にロードするのが一般的です。もう一つの簡単な方法はこのパラメータを使ってプログラムを実行することです。したがって、次の場合には、デバッグウィンドウを閉じても、ウィンドウオブジェクトは解放されません。メインウィンドウが閉じていない限り、そのデバッグウィンドウのオブジェクトは破棄されます。
1メインウィンドウの例のサブウィンドウ
メインウィンドウでは、ボタンではなく、キャプションウィンドウオブジェクトの例を示します。
Form 2 f 2=new Form 2()
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親ウィンドウが閉じている間は、サブウィンドウのオブジェクトを廃棄します。
親ウィンドウの閉鎖がサブウィンドウオブジェクトを廃棄する必要があるので、親ウィンドウのクローズ動作FormCloedにサブウィンドウf 2を呼び出す破壊関数を追加します。

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

サブウィンドウクラスに追加されたクローズ関数は以下の通りです。

 public void Close()
    {

      this.Dispose();

    }

以上のC〓〓〓は子ウィンドウの対象を釈放しないで、小さい編纂がみんなのすべての内容に分かち合うことを実現して、みんなに1つの参考をあげることができることを望んで、みんながよけいに私達を支持することをも望みます。