投稿させていただきます。イベントについて質問があります。ボタンを動的にフォームに追加して、イベントを追加した際に下記のようなコードを追記します。System.EventHandler(this.button_Click);として削除する必要はあるのでしょうか?それとも、紐づいているコントロールが解放されればイベント自体も解放されるのでしょうか???よろしくお願いします。17:05:43)ん〜、難しいですね。細かい事気にしなくていいでしょうけど、追加と削除は逆の事をやった方が良さそうな気はしますよね。イベントを外さないとデリゲートのインスタンスが残ったままになる可能性はあるかもしれません。いう隠しウィンドウの子になってしまいます。対象をなかなか満たせない設計になっているのではないでしょうか。対象をなかなか満たせない設計になっているのではないでしょうか。対象となる条件をなかなか満たせない設計になっているのではないでしょうか。正確ではないのでご注意を。それとも、紐づいているコントロールが解放されればイベント自体も解放されるのでしょうか???例示されているパターン(イベントハンドラが、そのコントロールを配置しているフォームに所属している)なら、明示的にイベントハンドラの登録を解除しなくても支障はありません。イベントハンドラが動的に追加・削除される別のコントロールに所属している場合などは、明示的にイベントハンドラの登録を解除してやらなければならない場合も出てきます。個人的には、見た目の対称性が高くて気持ちいいので、解除コード書いちゃいますけど。いう隠しウィンドウの子になってしまいます。対象をなかなか満たせない設計になっているのではないでしょうか。外されるんじゃないすか?でないと、いつまででもクラスインスタンスが残ってしまうと思うけど。17:32:36)回答ありがとうございます。細かい事気にしなくていいでしょうけど、追加と削除は逆の事をやった方が良さそうな気はしますよね。イベントを外さないとデリゲートのインスタンスが残ったままになる可能性はあるかもしれません。いう隠しウィンドウの子になってしまいます。いるのではないでしょうか。C#初心者なもので...もう少し、GCなどメモリの管理等の学習をしておく必要がありますね...囚人さんが記述されているキーワードを元に少し調べてみようと思います。除してやらなければならない場合も出てきます。現状複数のボタンに対して、同一イベントを追加しようと思っています。個人的には、見た目の対称性が高くて気持ちいいので、解除コード書いちゃいますけど。解除コードを書いておく分にはとくに問題はないということですよね?現状のところは、イベントの解除を行っておくことにします。現状複数のボタンに対して、同一イベントを追加しようと思っています。その場合は上記に書いてあるように、明示的にイベントハンドラの登録解除をする必要あるって事ですよね...イベントハンドラの登録解除が必要かどうかは、イベントハンドラを公開するオブジェクト(イベントリスナ)の寿命を基準に考えます。イベントリスナがイベントソースよりも先に寿命を終わるようなら、その時点でイベント接続を解除するべきです。これを怠ると、イベントソース→イベントリスナの参照が残っているため、不要なはずのイベントリスナのインスタンスがいつまでたっても解放されず、イベントも伝達されてしまいます。解除コードを書いておく分にはとくに問題はないということですよね?↑で書いたように、解除のタイミングも重要です。イベントリスナがイベントソースよりも先に寿命を終わるようなら、その時点でイベント接続を解除するべきです。_)mよろしくお願いします。画面クラスがボタンコントロールより終わることはないので特に接続解除は必要ないということなのでしょうか?そです。いう感じなのでしょうか???例えば、そうです。具体的にどのようなケースなのかわかれば少しは理解ができるような気がしまして...僕も自力では数回しか実装したことないんで、単純な例が思い浮かびませんが、そういうケースがあることはあります。紐付けを解消しなくてはいけない理由を逆に思ってしまっていました...やっと、イベント削除をする理由等わかりました。ありがとうございました。