私はこの例をいくつかを表示したい...しかし、主なものは、Visual Basic。NETの実行時にコントロールのグループにイベントを追加する方法です。
例えば、我々は多くのコントロールがTextBoxの(それらが呼び出される方法に関係なく)を使用してフォームを必要としています。 あなたは私がやったような何かを行うことができます。

Visual Studioのデザイナーは、ダブルコントロールをクリックして与えるたびに、イベントを管理する責任がありますサブルーチンが作成されます。 TextChangedイベントのテキストボックスのデフォルトの場合には、Visual StudioのデザイナーがTextBox1_TextChangedと呼ばれるサブルーチンを作成しますが、実際の名前は重要ではありません、我々はそれを変更することができ、何も起こりません。 "TextBox1.TextChangedハンドル":重要なことは、行の末尾にあるものです。 このルーチンはTextBox1.TextChangedイベントを "管理"することを示します。
我々は、実行時にこれらの "ハンドラ"を割り当てる可能性があり、この例のように、我々は複数のコントロールで同じ機能を使用して行うことができます。
他のハンドラを入力する構文は次のとおりです。
AddHandlerのObjeto.Evento、AddressOfをMiRutina
とハンドラを削除します。
RemoveHandler Objeto.Evento、AddressOfをMiRutina
Veramos今の質問の例:この例ではarem我々は、フォーム上の持っているそれぞれのTextBoxコントロールに2つのイベントを追加するものです。 これらのイベントは、GotFocusイベント(コントロールがフォーカスを取得したときに発生する)とLostFocus(コントロールがフォーカスを失ったときに発生する)になります。 ときに、コントロールは、このケースでは、背景色を変更するには、黄色でフォーカスを持っている。 そして、あなたが失うときは、通常の色に戻ります。
まず最初に、これらの2つのルーチンaremを追加することです。
ConFocoます。Private Sub(ているSystem.EventArgsとしてのオブジェクトは、ByVal電子としてByVal送信者) DirectCastの(送信者、テキストボックス(TextBox))。BackColorプロパティ= Color.Yellow End Subの SinFocoます。Private Sub(ているSystem.EventArgsとしてのオブジェクトは、ByVal電子としてByVal送信者) DirectCastの(送信者、テキストボックス(TextBox))。BackColorプロパティ=はColor.White End Subの
通常、我々はまだ2つのルーチンを持っていますが、...誰もそれらを呼び出すことはありません。 そのためにはハンドラ関数のTHESを呼び出すためにフォーム上の各コントロールのテキストボックス(TextBox)コントロールを追加する必要があります。
フォームのLoadイベントに次のコードを追加します。
Me.ControlsのObjectとして各cの c.GetType次にGetTypeを(TextBoxコントロール)である場合 AddHandlerはDirectCastの(C、テキストボックス(TextBox))。GotFocusイベント、AddressOfをconFoco AddHandlerはDirectCastの(C、テキストボックス(TextBox))。LostFocusの、AddressOfをsinFoco 終了する場合 次の
とプレスト、我々はプログラムをテストし、何を必要とすることはできません。 すべてのTextBoxがフォーカスを取得するために、背景色を変更します。 彼らは呼ばれている方法の多くであるか、または何でも関係ありません。
下の写真の操作の形式は次のとおりです。 
私はそれが最後のコードを少し説明する価値があると思う。
すべての各実行のために
情報Bitacoras.com ...
Bitacoras.comのレート:私はこの例をいくつかを表示したいですか? しかし、主なものは、Visual Basic。NETの実行時にコントロールのグループにイベントを追加する方法です。 例えば、我々は多くのコントロールを持つフォームを必要とする....
ありがとうございました! はシンプルで機能的なコードです。 この現象だ。 私は(ミスのような...)これらのもののためにVB6でコントロール配列を使用しましたが、この小さなトリックは、エレガントな解決されています。
この優れた貢献のおかげで、私は8年間VB6で開発した、そのようなすべてのTexBoxフォームのイベントを1つの書き込みなど、彼がコントロールの配列を持つVB6で行った。ネットを行い、識別する方法を発見していませんでした索引で、各。 ご支援のGaNは、この困難を克服した。 THANKS
こんにちは、非常に良い説明。 はaddHandler面白いツールだと思いますが、私はそれについて質問があります。 私がasp.netでそれを使用して、それは素晴らしい作品、私は動的にリンクジャンルにイベントを追加しますが、はaddHandlerがロードされている場合のみ動作します。 それは負荷でないという動作していることをどのような方法はありますか?
本当にありがとうございました
極度のよいこのコードは行数、および時間を節約できます。
似たような何かをすることができますが、数字だけ、などでKeyPressイベントを検証するために、何とかそれぞれのテキストボックスに書式を適用するか、または数字のみ、テキストなどでなければならない誰が知って識別します。 私はあなたのポイントを作ったと思っている。
あなたは彼らがあなたがそれを行うことができます次のリンクこの記事プラス2で学んだ組み合わせると私は思う。
http://www.solovb.net/index.php/2009/01/25/textbox-solo-numeros-validacion/~~V
http://www.solovb.net/index.php/2009/02/23/textbox-solo-letras-validacion/~~V
運。
私はここでは言及ものと多少類似した機能を持っていますが、KeyPressイベントでagregarselasが教えてくれませんしようとすると、同じシグネチャを持っていない
こんにちは、私はあなたのサイトが好きで、ポストにあなたの献身を賞賛します。 私は現在大学で勉強すると役立ちますしています。
ご挨拶!
良いコードこんにちは、私は別のコントロールと別のイベントに適用することだし、それが起こるとき、私はと言うとこと:
AddHandlerのmiObjeto.evento、AddressOfをmiRutina
法 "mirutinaは"デリゲートと同じシグネチャを持っていることを私に語った。
あなたの例ではあなたが私に起きているかもしれない、彼はあなたのためのデリゲートと仕事のパラメータを送信しませんか?
あなたの助けを事前にありがとうございます..
それが事実であれば、私は、彼らが何かを(それらがイベントをトリガしたコントロールに送信されます)を送信する必要があるので、パラメータを送信しますが、プロシージャ·コールで定義する必要があります。 たとえば、次のようにします。Private Sub MiRutina(ているSystem.EventArgsとしてのオブジェクトは、ByVal電子としてByVal送信者)。
運
こんにちは、これは、AddHandlerを使用することの良い例で、フォームにコントロールを追加しました。
私は、実行時に作成されたコントロールにイベントを追加するコードを追加することによって、私のビットを貢献したい理由です。
挨拶。
----------------
PulsadoDobleClickます。Private Sub(ているSystem.EventArgsとしてのオブジェクトは、ByVal電子としてByVal送信者)
MsgBoxには、( "あなたはダブルクリックを押した")
End Subの
プライベートサブをForm1_Load(ているSystem.EventArgsとしてはSystem.Object、ByValを電子としてByVal送信者)ハンドルMyBase.Load
新しいTextBox点心のMiCajaDeTexto()のような
MiCajaDeTexto.Name = "CajaDeTexto"
Me.Controls.Add(MiCajaDeTexto)
AddHandlerのMe.Controls(MiCajaDeTexto.Name)のDoubleClick、AddressOfをMe.PulsadoDobleClick
End Subの
あなたの助けのおかげで、私はトラブルのうちました。 私はVB6から来て、非常に異なっている、私はマイクロソフトでは、彼らがVB6で処理されたのと同じようにVB.NETの彼らの新しいバージョンのコントロールの新しい配列を含むように意図があることをどこかで読んだ。 それは、古いVB6の私たちにとって生活が容易になります。
優れた、私はパラメータを持つ関数を割り当てることの可能性についてコメントを追加します。
偉大なルーチンは、まだVB6から。NETに移行するための大きな助け、ありがとう
'**与えられたGroupBoxコントロールでテキストを編集するには、ReadOnlyプロパティを使用します。**'
私のプロジェクトの例:
プライベートサブをForm1_Load(ているSystem.EventArgsとしてはSystem.Object、ByValを電子としてByVal送信者)ハンドルMyBase.Load
"GroupBoxコントロールにテキストボックスを検索
Me.grpDatosPasajero.Controlsのコントロールとして、各cの
c.GetType次にGetTypeを(TextBoxコントロール)である場合
AddHandlerはDirectCastの(C、テキストボックス(TextBox))は、AddressOfをconFocoを入力します。
AddHandlerはDirectCastの(C、テキストボックス(TextBox))は、AddressOfをsinFocoを残す
終了する場合
次の
End Subの
"ルーチン
ConFocoます。Private Sub(ているSystem.EventArgsとしてのオブジェクトは、ByVal電子としてByVal送信者)
(送信者、テキストボックス(TextBox))DirectCastのない場合。ReadOnlyのその後
DirectCastの(送信者、テキストボックス(TextBox))。BackColorプロパティ= Color.PaleGoldenrod
終了する場合
End Subの
SinFocoます。Private Sub(ているSystem.EventArgsとしてのオブジェクトは、ByVal電子としてByVal送信者)
(送信者、テキストボックス(TextBox))DirectCastのない場合。ReadOnlyのその後
DirectCastの(送信者、テキストボックス(TextBox))。BackColorプロパティ=はColor.White
終了する場合
End Subの
wavファイル
私は認めざるを得ないExelentesコードjejejの友人。 良い時間にgaracias。 すべてにご挨拶
私は彼のノートの助けを借りてrelizeするために、このコードを共有し、これは私が単一のイベントからの光が、あなたが必要とするすべてのボタンを作成し、押されたボタンに付された条件を持つ関数に対して送信するのに役立つだろう
Public Class Form1の
ボタンとしてDim lbls()
プライベートサブをForm1_Load(ているSystem.EventArgsとしてはSystem.Object、ByValを電子としてByVal送信者)ハンドルMyBase.Load
薄暗いLOCとして整数= 25
整数としてmの= 0〜4
ReDimステートメントを保持lbls(M)
lbls(M)=新規作成]ボタン
lbls(M)と
。テキスト=( "ボタン"&M)
ロケーション=新しいPoint(0、LOC)
。サイズ()=新たSystem.Drawing.Size(75、23)
で終わる
lbls(M)。名= M
Me.Controls.Add(lbls(M))
AddHandlerのMe.Controls(lbls(M)。名)]をクリックし、AddressOfをMe.Click
LOC + = 25
次の
End Subの
プライベートサブをクリックして(いるSystem.EventArgsとしてのオブジェクトは、ByVal電子としてByVal送信者)
ボタン=送信者としてDim jの
MsgBoxには、( "あなたはボタンを押す"&j.Name)
End Subの
エンドクラス
私は希望といくつになります
私は、TabPageを作成すると、この内の実行時にDataGridViewがあり、qはまた、誰もがそれを行う方法を知っていれば、私はあなたの助けを感謝し、デザイン時にこれらのコントロールを追加します。
私は、TabPageが、この中で、実行時にDataGridViewを作成したい、また、画面basic.net視覚的な設計にこれらのコントロールを追加し、誰もがそれを行う方法を知っていれば、私はあなたの助けに感謝。
Holas! みんな! 何ここで起こることですべてのテキストを与えるためにそのプロパティです。
Me.ControlsのObjectとして各cの
kieroは、私のようにボタンkieroと例えば...特定のコントロールに例外を与える学生のためのいくつかのノートtxtboxと私のフォームに記入し、そのようなコードのような他のtxtboxが存在する場合でも、kiero utlizoを平均化した後、ノートに名前を付ける
Doubleとして点心(N)
コントロールとしてDim C
Me.Controlsの各cの
TypeOf演算CはTextBoxの場合
合計(ヴァル(c.Tag))+ = VAL(c.Text)
終了する場合
次の
Me.Controlsの各cの
整数としてDim I
TypeOf演算Cはラベルである場合、
c.Tag> = 0そして、もし
ヴァル(c.Tag)= Iそして、もし
c.Text = SUM(I)/ヴァル(txtnn.Text)
I + = 1
終了する場合
終了する場合
終了する場合
しかし、私はすべてを取ると平均txtboxがうまくいかない
pepelepu、このようなexluirを試してみてください。
...
Me.Controlsの各cの
ケースc.Nameを選択
"除外するように制御
ケース "nameControl1" "nameControl2" "nameControl3"
ループ
他のケース
"私はコントロールを制御
合計(ヴァル(c.Tag))+ = VAL(c.Text)
選択終了
次の
挨拶、非常に興味深いコードです。
私はあなたに質問があり、私はさらにMenuStripコントロールの各要素へのハンドラであるか、またはイベントプロシージャを割り当てたり、うまくDBプロシージャの名前を取得することができないないことを、データベースから項目を読み込み、MenuStripを開発した、いくつかのsugenrencia? :私は潜水艦のURLで見つけることができますサンプルファイルを使用しhttp://www.dotnethelp.co.uk/es/vb/108413/menu_strip_vbnetを
提案のおかげで
私はここの間にまで、イベントを発生させると読むことができないという狂ったつもりだった
"フォームのLoadイベントに以下のコードを追加します。"
私は時々私はおかげでXD、明らかなことで迷子になる、それが欠落して
私はちょうどイベントとハンドラを開始し、私はそれがprincipiamosは...エリシャとそのビットが含まれているすべての人に感謝、私たちに彼らの知識を貢献する人々を持っている複雑な(私にとって)は良いと思います。
ご挨拶!
私はこれに新たなんだと私はあなたの例が面白いと非常に良い見つけ、どのように公衆に行くと、任意のフォームから呼び出すことができるかもしれません...ありがとう
私は助けることができない場合は質問を聞いています。
私は、移動キーでゲームを制御するプログラムを行う必要があると私は右、左、上から下へ、入れてボタンにキーを割り当てる方法、およびシミュレーションを行う押されたボタンを押したときに知っていただきたいと思います。
親愛なる、クエリは、私はあなたがaddessOfで示されている関数にパラメータを渡す方法を、関数は、パラメータ(例えばIDBOTON)があり、私はIDBOTON情報とBDで探して作成した各ボタンの。
協力していただきどうもありがとうございます。
私は笑(1日)間もない前にこれを学んだが、それは複雑に思われる非常に簡単です、でもSQLCEの挨拶からの機能範囲を呼び出す!
こんにちは、非常に興味深い、私は、彼らがどのようにC#で実行時にイベントを追加するには、このコードを適用する方法を教えていいなあ。
おかげで、また、私は実行時に作成されたPictureBoxのClickイベントを追加することです。
感謝
非常にシンプルでありながら非常に実用的。 どうもありがとうございました
こんにちは、優れています。 私は質問を持って、このコードでは直接フォーム上に配置されているコントロールで動作します。 しかし、それはフォームのLoad内の各コンテナのコードを配置せずにコンテナに動作させる?
あなたは、コントロールが再び呼び出されるかどうかを確認する再帰関数を作成することができます。
それから私はあなたの例を残して、私は時間不足のためにテストされ、私はあなたをここに残すように答えたいと思っていないことを明確にしたい。
あなたの関数の基礎としてそれを使用します。 運。
プライベートサブをForm1_Load(ているSystem.EventArgsとしてのオブジェクトは、ByVal電子としてByVal送信者)ハンドルMe.Load
recorrerContenedores(I)
End Subの
サブrecorrerContenedores(コントロールとしてByVal C)
c.Controls.Count> 0そして、もし
recorrerContenedores(C)
他
"ハンドルを追加します。
終了する場合
End Subの
親愛なるこんにちは、私は読んでいた間に、最後に、それはあなたが少しのコードを説明するつもりだったようで、このようなものですので、私は文書の一部を見逃すかどうか知りたかった。
私はそれが最後のコードを少し説明する価値があると思う。
すべての各実行のために...
何かが足りない? もしそうなら、あなたはそれを完了するだろうか? あなたがコミュニティVBに行う貢献をありがとう、あなたを祝福
estubo buenasoこんにちは、あなたがあなたのプロジェクトは、私は私の追加ボタンを押すと、最近、彼女がして失われた焦点として機能し始めているkieroので、私の問題は、私はしたくないです。....よくフォームをロードする動作を実現あれば私は問題を抱えている各TextBox ..そのSIP porfa repondeに私を助けて早く感謝...
saludosss ....
必ずしもはaddHandlerロードでなければなりません...あなたが好きなところ、あなたはそれを置くことができます。 このほかに、(必要な場合)イベントコントロールの関連付けのためにRemoveHandlerステートメントを使用することができます。
Wooow! この例では、私は途方もない助けてきた、私は本当に、ありがとうございます。 しかし、もちろん私はできません^ ^こんにちは!