DOBON.NET DOBON.NETプログラミング掲示板過去ログ

コードで作成したコントロールのイベント

環境/言語:[VB.NET 2002]
分類:[.NET]

Private Sub RichTextBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.Enter

End Sub

こんなイベントを処理したいのですが、
デザインフォームでRichTextBoxを配置した場合は問題ないものの、
コードで

Dim AAA As RichTextBox

のようにして作成したコントロールのイベントはどのように処理したらよいのでしょうか。
いつもどおりに処理しようとしても、プログラム実行前はまだコントロールが存在していないため、
エラーが出ます。
■No8642に返信(smithさんの記事)
> Private Sub RichTextBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.Enter
> > End Sub
> > こんなイベントを処理したいのですが、
> デザインフォームでRichTextBoxを配置した場合は問題ないものの、
> コードで
> > Dim AAA As RichTextBox
> > のようにして作成したコントロールのイベントはどのように処理したらよいのでしょうか。
> いつもどおりに処理しようとしても、プログラム実行前はまだコントロールが存在していないため、
> エラーが出ます。


AddHandler RichTextBox1.Enter, AddressOf RTF_ENTER

という感じでハンドラ追加をすればよいとおもいますよ。
やるべきことは、
・RichTextBox1をRichTextBoxで作成。
・RichTextBoxの大きさなどを指定。
・RichTextBoxをフォーム上に表示。
そのうえでハンドラ定義すればよいとおもいます。
呼び先は、たとえば、

    Sub RTF_ENTER(ByVal sender As System.Object, ByVal e As System.EventArgs)
        MsgBox("MOO!")
    End Sub

こんなかんじでしょうか。
> やるべきことは、
> ・RichTextBox1をRichTextBoxで作成。
> ・RichTextBoxの大きさなどを指定。
> ・RichTextBoxをフォーム上に表示。

ここまではできていたのですが、

>AddHandler RichTextBox1.Enter, AddressOf RTF_ENTER

> そのうえでハンドラ定義すればよいとおもいます。
> 呼び先は、たとえば、
>
> Sub RTF_ENTER(ByVal sender As System.Object, ByVal e As System.EventArgs)
> MsgBox("MOO!")
> End Sub
>
> こんなかんじでしょうか。

この辺がよく分かりませんでした。
親切に説明してくださったので、よく分かり、できました。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板