• ベストアンサー

.Net ユーザーコントロールのイベント

質問させていただきます。 環境はVB.NET2003 WindowsXPです。 あるユーザーコントロール(Form)にボタンが用意されており、そのユーザーコントロールを別のフォームAに貼り付けたとします。 この時、Aのコード内でユーザーコントロール上のボタンのClickイベントを取得する方法がございましたら、回答をよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

説明のためにユーザコントロールをUserControl、そのボタンをButtonとする。 UserControlのクラス内に次の行を足してみよう。 Public Event ButtonClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click RaiseEvent ButtonClick(sender, e) End Sub そしてソリューションのビルドを行う。あ~ら不思議そのユーザコントロールを使っているフォームにUserControll1_ButtonClickイベントが追加されているではあ~りませんか。サンプルを見れば分かると思うが、 1.ユーザコントロールのカスタムイベントを作成 2.ボタンのクリックイベントをユーザコントロールで受けた時に、1で作ったカスタムイベントを発生させる。 3.それを貼り付け元で受け取る。 という流れになる。

chain-saw
質問者

お礼

返答が遅くなって済みません。 あ~ら不思議…よりも私の修行不足のようですね…。 想定通りの動作が出来ました。 本当にありがとうございました。

関連するQ&A

  • VB2008でユーザーコントロールのイベントについて

    VB2008でユーザーコントロールのイベントについて 作成したユーザーコントロールを(1)フォームに配置した時のみ実行される (2)フォームを実行した時のみ実行される それぞれ処理を分けたいのですが、適切なイベントが見つかりません。 何か区分けのできる方法はあるのでしょうか? 何方か教えていただけませんか

  • ユーザコントロールのイベント取得について(C#)

    環境:Visual Studio 2005 C# Windows Application フォームに自作のユーザコントロールを貼り付けてそのイベントを取得する勉強をしているものです。 フォームでのユーザコントロールイベントを取得して処理をする方法が分かりません。 状況 ユーザコントロールにはテキストボックスを追加しています。 また、フォームにそのユーザコントロールを追加しています。 確認したいことは、ユーザコントロールのテキストボックスになにか値を入力したタイミングでチェンジイベントをフォーム側で察知し、処理をするというものです。 どなたか、要点だけでもいいので教えていただけないでしょうか? 宜しくお願いいたします。

  • VB6 ユーザコントロールでクリックイベント

    コンボボックスにclickイベントを書いたのち(この段階ではprivate) このコントロールをユーザコントロールにしました。 フォーム上に上記のユーザコントロールを配置したところ クリックイベントが発生しません クリックイベントを発生させるには 何か特殊な記述が必要ですか?(例えばオーバライドとか) どうすればクリックイベントを発生させられますか

  • ユーザーコントロールのイベント取得

    いつもお世話になっております。またもや疑問点が出てきましたので、初心者なので皆さんのお知恵を拝借させてください。 VS2005,C#でASP.NET(Web)を作成しています。 まずユーザーコントロール(TextBox)を作成し、Formに貼り付けます。そこで、ユーザーコントロールのイベント(TextChanged)をForm側から取得したいのですがよい方法はありませんでしょうか。

  • VBAでのコントロールイベント処理

    VBAで画面を作成しています。 「form1」からボタンを押下することで「form2」がモーダルで表示される仕様です。 「form2」からListのコントロールをダブルクリックすることで 「form2」は閉じ、「form1」に選択した内容を表示するという仕様です。 その場合、「form1」の別のイベントがなぜか走ってしまいます。 どのような処理をおこなえば、「form1」のイベントが発生しないようなるでしょうか??

  • AccessVBA全てのコントロールのイベントを取得したいです。

    AccessVBA全てのコントロールのイベントを取得したいです。 フォーム上にコントロールが20個ほどあります。 現在は抽出ボタンを使用し、抽出実行イベントを行っています。 出来れば、すべてのAfterUpdate()で抽出実行させたいのですが、 コードの書き方がわかりません。 全てのコントロールに対しAfterUpdate()のイベントを書くしか方法はないでしょうか? フォーム内どのコントロールでも抽出実行Functionさせたいです。 ExcelVBAの様にシート内の全てのChangeイベントの様な取得方法はないものでしょうか? ご存じの方がおられましたら、アドバイスよろしくお願いいたします。 m(_ _)m

  • WEBユーザーコントロール

    ASP.NETで開発をしております。fw2.0です。 WEBユーザーコントロールでDBの読み込み画面AとDBの書き込み画面Bを作ったとします。 WEBフォームにAとBをのっけた場合、Bの書き込み処理が終わった後にAの表示を更新させる にはどうしたらいいのでしょうか? イベントのとり方がわからなくて困っています。 ユーザーコントロールを使わなければ普通にイベントを取れるのですが。。。 出来ればユーザーコントロールを使いたいので WEBフォームでユーザーコントロールのイベントを取る方法があれば教えてください。

  • ユーザーコントロールについて

     コマンドボタン(cmd1,cmd2,cmd3)を3つ配置したユーザーコントロール(読み取り専用)をフォーム上(form)に配置し、ロードしたとき一番初めにフォーカスがあたるのがcmd1なのですが、これをcmd2にフォーカスを与えたいのです。ユーザーコントロールのタブインデックスはコマンドボタンの名前どおりなのですが、tabキーを動かすことと同じ関数みたいなものはあるのでしょうか?

  • ユーザーコントロールの参照について

    ユーザーコントロールを作成し、デザイナ上でユーザコントロールを追加した場合には、コード上でLeftプロパティなどの自身で作成したプロパティ・関数以外でも参照ができるのですが、 コード上で動的にコントロールを追加した場合、自身作成したプロパティ・関数のみしか参照ができません。 ユーザコントロールの作成時に「公開する」的なプロパティ等の設定が必要なのでしょうか? 環境は、VB6/WindowsXP です。 ご存知の方がいらっしゃいましたら、ご教授ください。

  • ラインコントロールにクリックイベント

    ラインコントロールにイベントが発生しないことは分かっています。 なので、自作しないといけないのかなと思っていますが、良い方法が見つかりません。クリックイベントが発生するようなラインのユーザーコントロールの作り方を教えていただけませんか? あるいは、フォームのクリックイベントで、そこがラインコントロール上か否かという判断をさせる方法でもいいです。 よろしくお願いします。

専門家に質問してみよう