ホームページ  >  記事  >  バックエンド開発  >  子ウィンドウ オブジェクトを解放せずに子ウィンドウを閉じる C# のメソッドの詳細な紹介。

子ウィンドウ オブジェクトを解放せずに子ウィンドウを閉じる C# のメソッドの詳細な紹介。

黄舟
黄舟オリジナル
2017-03-27 11:49:191965ブラウズ

以下のエディターが記事をお届けしますC#子ウィンドウオブジェクトを解放せずに子ウィンドウを閉じる方法。編集者はこれがとても良いものだと思ったので、皆さんの参考として今から共有します。エディターに従って見てみましょう。オンライン スキャン カメラのデバッグ プロセス中に、デバッグ インターフェイスを開いて位置を設定する必要があります。デバッグ後、デバッグ パラメータを保存し、次回の起動時にロードするのが一般的な方法です。もう 1 つの簡単な方法は、このパラメータを指定してプログラムを直接実行することです。したがって、後者の場合、実装する必要がある機能は、デバッグ ウィンドウが閉じられても、そのウィンドウ オブジェクトは解放されないということです。デバッグ ウィンドウのオブジェクトは、メイン ウィンドウが閉じるまで破棄されません。

1 メインウィンドウでサブウィンドウをインスタンス化しますボタンでサブウィンドウオブジェクトをインスタンス化する代わりに、メインウィンドウでサブウィンドウをインスタンス化します。

Form2 f2 = new Form2();

2 ボタンでメインウィンドウを表示
ボタンで実現したいのはウィンドウの表示です

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

3 サブウィンドウを放さずにサブウィンドウを閉じる方法object問い合わせ後、経験的には、サブウィンドウで 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。