タグ

2012年10月22日のブックマーク (3件)

  • イベントを捕捉する - .NET Tips (VB.NET,C#...)

    イベントを捕捉するイベントが発生した時にこれを捕捉し、それに応じた処理を行うようにするには、イベントハンドラ(メソッド)を作成して、これをイベントに追加(接続、登録)する必要があります。 ここでは具体的に、System.Windows.Forms名前空間のButtonコントロール「Button1」のClickイベントに、イベントハンドラ「Button1_Click」を追加する方法を説明します。なおすでにButton1はフォームに配置されているものとします。 Visual Studioを使用する方法まずは、Visual Studioを使用して行う方法を紹介します。 VB.NETコードエディタの左上にあるコンボボックスから、「Button1」を選択します。 コードエディタの右上にあるコンボボックスから、「Click」を選択します。 フォームクラスにButton1_Clickイベントハンドラメソ

    イベントを捕捉する - .NET Tips (VB.NET,C#...)
  • C#でイベントハンドラの削除 - 天球日記+

    VisualStudioで置いたボタンをダブルクリックしたりしてイベントを新しく追加するとフォームデザイナのほうに this.button1.Click += new System.EventHandler(this.button1_Click); というのが追加されるわけだが、これを削除するには this.button1.Click -= new System.EventHandler(this.button1_Click); とやればいいようだ。なんと単純。でも書き方がきもい。 なんでこんなのを調べてたかというと、この辺とかこの辺からグローバルフックを拾ってきて実装したはいいものの、子フォームでイベントハンドラを追加して作業を終えてから閉じてもイベントが削除されず、staticをなくしても参照が残ってるらしくうまくいかなかった。 参考 http://d.hatena.ne.jp/dee

    C#でイベントハンドラの削除 - 天球日記+
    kodapon
    kodapon 2012/10/22
  • Ito Blog » Blog Archive » メモリリークのまとめ(Event Handler の削除忘れ)

    http://blogs.bitlan.net/ito/?p=1666 Ito Blog ≫ Blog Archive ≫ メモリリークのまとめ(管理されたリソース) http://blogs.bitlan.net/ito/?p=1672 Ito Blog ≫ Blog Archive ≫ メモリリークのまとめ(管理外のリソース) http://blogs.bitlan.net/ito/?p=1682 Ito Blog ≫ Blog Archive ≫ メモリリークのまとめ(Dispose Finalize パターンと応用) の続きです。 前回は、Dispose Finalize パターンに関する内容をまとめました。 今回は、イベントハンドラーが削除されていないことによって、不要な参照先が残ってしまうことによる問題についてです。 不要な参照先が残ってしまうと、いつまでも GC