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

タイトル 基底関数の振る舞い
投稿日: 2007/01/19(Fri) 10:39
投稿者DOON
DOONです。
お世話になっています。

下の質問でもお世話になりました。
現在vb.net 2005 windowsxpでユーザーコントロールを作成中です。
そこで、基底関数の振る舞いについて分からなくなりました。
ご存知の方、教えてください。
少し文章が長くなりますが、ご了承ください。

今作成している、ユーザーコントロールはTextBoxのみの作成です。
TextBoxをそのまま継承して作成しています。
ここで例として、TextChangedのイベントの中身を実装したユーザーコントロールを
作成しようとしています。
ユーザーコントロールのソース内に、
OnTextChangedを書いてみました。以下になります。
    Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)

        MyBase.OnTextChanged(e)
    End Sub
すると自動でMyBase.OnTextChanged(e)が書き込まれました。
そのあと、テスト用に、同じソリューションファイル内に
WindowsApplicationプロジェクトを作成。
フォームにそのユーザーコントロールを貼り付けました。
貼り付けたテキストボックスをTextBox1とします。
そのWindowsApplicationのフォームのソースに
    Private Sub TextBox1_TextChanged(ByVal .....

    End Sub
と書き込みました。
実際WindowsApplicationを実行してみました。
textbox1に値を代入すると、
ユーザーコントロール内のOnTextChangedが走ります。
そして、基底関数を呼びます。
その後にWindowsApplicationのTextBox1_TextChangedが走ります。

この振る舞いが正しいとは思うので、それを踏まえてユーザーコントロールを
作成しようと思いました。そもそもWindowsApplication内にTextBox1_TextChanged
という、ソースは書かないようにはするつもりです。

質問はこのMyBase.OnTextChanged(e)はユーザーコントロールの
基底関数のメソッドを呼ぶのではないのですか?
私の中ではユーザーコントロールの基底関数はSystem.windows.formだと思うのですが?
大きな勘違いがありそうです。

どなたか教えていただけませんでしょうか?

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

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