タイトル : Re^2: 基底関数の振る舞い 投稿日 : 2007/01/19(Fri) 13:09 投稿者 : DOON
DOONです。早速の返事ありがとうございます。 こないだの質問にひきつづきありがとうございます。 分かりやすくて、理解できたと思います。 > 当然、Form クラスなんてまったく関係ありません。 すいません、まったくの検討ちがいですね。 > では何故 Form に TextBox1_TextChanged みたいなメソッドを書くと呼び出されるのかと言うと、 > イベントという仕組み(Handles キーワードがポイント)を使って、 このHandlesのソースは見れないんですかね。 Friend WithEvents TextBox1 As System.Windows.Forms.TextBox このイベント設定ですべてをまかなっているとかですかね。 > Form は TextBox に「OnTextChanged が呼び出されたら > TextBox1_TextChanged を呼んでくれ MyBase.OnTextChangedで呼ばれていく先にFormと紐付けられる予定の関数が 潜んでいるということであってますでしょうか? 理解できてますでしょうか? この答えを聞いて、考えをまとめると、やはりUserControl内では OnTextChanged等のOnの付く関数をオーバーライドして修正します。 さらに基底関数は呼ばないようにします。このコントロールを使われた先で 何かやられると困りそうなので。 UserControl内でもTextBox1_TextChangedと書くこともできるのに なぜOnTextChangedも書くことができるのか不思議でした。 ありがとうございました。 |