
すごく基本的なことかもしれないのですが、ポインタだけでも良いので教えてください。
あるFormにPictureBoxをはりつけてあります。
PictureBoxをマウスでクリックしたときにpictureBox_Click()イベントが発生しますが、このイベントをそのままスルーして、Formに伝えてあげたいのです。
pictureBox.Parent.OnMouseDown()とでもすればいいのかと思っていたのですが、コンパイルエラーでした。
何かすごい勘違いをしているような気もするのですが、お恥ずかしいことに何が悪いのかよくわかりません。ポインタだけでも良いので、どうすれば親にイベントを投げられるのかを教えてください。
No.1ベストアンサー
- 回答日時:
>Formに伝えてあげたいのです
この言葉がなにを意味しているのかはよくわかりませんが。
もし、Formオブジェクト上で定義したメソッドを
呼ぶようにしたいという話なら簡単です。
Formのクラスの中に、
PictureBox1という名前のPictureBox型のメンバー変数があったとします。
Formのクラスの中に、
PictureBox1_Click()というメソッドがあったとします。
初期処理のどこかで、
PictureBox1.OnClick +=
new ○○EventHandler(PictureBox1_Click);
の記述があれば、
PictureBox1からClickイベントが発生した時、
つまり、画面上でクリックされたときに、
Formクラスにある
PictureBox1_Click()メソッドが呼ばれます。
PictureBox1_Click()メソッドはFormクラスの
メソッドなので、その定義の中でのthisは
フォームオブジェクトそのものです。
そうやってフォームオブジェクトにアクセスできます。
なお、この
PictureBox1.OnClick +=
new ○○EventHandler(PictureBox1_Click);
のコードはVisual Studioのデザイナで
PictureBox1のイベントハンドラを登録すると、
InitialComponent()などというメソッドに
(名前ははっきり覚えてません)勝手に追加されます。
本当は別にどこでもよいです。
初期化処理のところで自分で手で追加しても同じことです。
ご質問ないようは、これでよろしかったでしょうか?
ちなみに、
pictureBox.Parent.OnMouseDown()
ですが、
pictureBox.Parentは
コントロールや、コンテナ型のようなものが
返却されるかと、そのオブジェクトは
OnMouseDownというメソッドは保有していないでしょう。
pictureBox.Parentが貴方が定義した
Formクラスの派生クラスということは、
PictureBoxにはわからないことです。
ご質問内容がいまいちよくわからないので、
想像で勝手に回答しましたが、
勘違いしているようであれば、すいません。
以上です。
回答ありがとうございました。
私が誤解してわけがわからない質問をしている部分がありましたが、欲しかった情報は+=でイベントが登録できることでした。
どうもありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
servletからjspへオブジェクト...
-
getParameter()について
-
javaで、、、
-
サーブレットコンテキストの意...
-
Excel VBA 定数にオブジェクト...
-
エクセルVBA 画像を貼り付ける...
-
VB.NETでのnothing の意義について
-
C#で親にイベントを投げる方法
-
VBAでの[]
-
C#のクラスで値渡しをする
-
ピクチャーボックスに点を打つ...
-
GridViewに行追加するには?
-
VB6 グレープシティ社スプレッ...
-
mkdirsでフォルダが作成されない
-
エクセルVBA/SpecialCellsで特...
-
Basp21proで削除されたメソッド...
-
VB.netでJavaのCollection.shuf...
-
JSPでのArrayListの表示につい...
-
VBS でのソート処理Excel2003
-
VB.netでメソッドからコントロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
servletからjspへオブジェクト...
-
サーブレットコンテキストの意...
-
エクセルVBA 画像を貼り付ける...
-
Excel VBA 定数にオブジェクト...
-
VB.netでメソッドからコントロ...
-
VBAでの[]
-
System.Collections.SortedList
-
JSPでのArrayListの表示につい...
-
C#で親にイベントを投げる方法
-
C#のクラスで値渡しをする
-
VB.NETでのnothing の意義について
-
Vba ListViewの行挿入に関して...
-
String型からlong型への変換は...
-
javaで、、、
-
MessageBox.Show(Me,…の「Me」...
-
getParameter()について
-
ピクチャーボックスに点を打つ...
-
VB2005でADDとINSERTの違いは?
-
singletonクラスとは???
-
LiveConnectって?
おすすめ情報