2016-04-04 4 views
2

この場合、質問のタイトルが正しくない可能性がありますが、どこに問題があるのか​​わかりません。カスタムテキストボックスからイベントハンドラを使用するには?

基本的にユーザーコントロール内のパネル内のテキストボックスであるカスタムテキストボックスを作成しました。このテキストボックスをフォームに追加して、テキストボックスのイベントハンドラを具体的に使用したい場合は、それが私にとって灰色の領域に入るようになります。

Public Class MyUserControl : Inherits Control 

    Public Shadows Event TextChanged(sender As Object, e As EventArgs) 

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged 
     RaiseEvent TextChanged(sender, e) 
    End Sub 
End Class 

注:あなたはTextChangedイベント、テキストボックス火災のTextChangedイベントを起動したい場合たとえば、ユーザーコントロール内

を使用するイベントを定義する必要が

+0

UserControilはミニフォームのようなものです.UFCコントロールウィンドウのイベントにアクセスすると、 – Plutonix

+0

というイベントが定義されます。 UC a ndで定義した形式でオーバーライドしますか? –

+0

一般的に、UCは、Define New ProductやSearch機能のようないくつかのコントロールに対していくつかのコントロールを使用し、その論理操作に関連するカスタムイベントを発生させます( 'SearchComplete')。コントロールイベントをフォームで捕捉したい場合は、UCがある理由を尋ねる必要があります。なぜなら、フォームにパネルを置くのはなぜですか?それ以外の場合は、フォームに渡す必要があるイベントを「バブルアップ」または転送できます。 2以上でUCがどのような価値を追加するか再度質問しなければなりません。 – Plutonix

答えて

2

ベースクラスとの衝突を避けるためにShadowsを宣言する必要があります

+0

ありがとうございます。私は自分でそれを理解しましたが、それを追加することを忘れないでください。外部のフォームでUCのイベントを定義するときは、単純に... 'Private Sub UC_TextChanged(送信者オブジェクトとしてe、EventArgsとして)UCを処理します。 TextChanged' –

関連する問題