tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: 基底関数の振る舞い
投稿日: 2007/01/19(Fri) 17:46
投稿者Hongliang
> > イベントという仕組み(Handles キーワードがポイント)を使って、
> このHandlesのソースは見れないんですかね。
> Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
> このイベント設定ですべてをまかなっているとかですかね。

ソースと言うか、キーワード(予約語)ですから。
確かにコンパイラ内部では AddHandler とかに展開されますけど。

> MyBase.OnTextChangedで呼ばれていく先にFormと紐付けられる予定の関数が
> 潜んでいるということであってますでしょうか?

なんか違う……。
TextBox の TextChanged に、Form は呼び出してほしいメソッドを登録する。
TextBox かその基底クラスの OnTextChanged が TextChanged に登録されたメソッドを呼び出す。

> この答えを聞いて、考えをまとめると、やはりUserControl内では
> OnTextChanged等のOnの付く関数をオーバーライドして修正します。
> さらに基底関数は呼ばないようにします。このコントロールを使われた先で
> 何かやられると困りそうなので。

いやいやいや、OnHogehoge は呼び出してあげてください。リファレンスにも基底クラスのを呼び出
せと書いてあります。
使用者は文字列が変更されたときに何かしたいから TextChanged を利用するのに、それが使えない
のでは二進も三進も行きません。
何かやって困るのはその利用者だけですが、そもそもできないのでは何かやっても困らない利用者
全員に影響がでます。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。