すごく基本的なことかもしれないのですが、ポインタだけでも良いので教えてください。
ある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で質問しましょう!
似たような質問が見つかりました
- 結婚式・披露宴 結婚式は上げましたか?結婚してから私の父が結婚式を挙げろとうるさいです。お金もお父さんが出すから式は 8 2022/05/01 13:40
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- イベント・祭り 高専4年生(実質大学1年生)の18才です。 地元で、地域のイベントを作ろうと思っています。でも、なか 1 2023/04/07 20:30
- その他(Microsoft Office) エクセルVBA イベントの切り替え 2 2022/05/01 03:51
- マナー・文例 イベントなど人が集まるようなシーンで、子供を肩車する事をどう思いますか? 先日たくさんの人が集まるよ 2 2022/10/03 00:17
- 飲み会・パーティー 飲み会、イベントが多すぎる会社について 5 2023/07/05 12:34
- 英語 丁寧な伺い(参加可否を促したい)英文を知りたいです。 2 2022/06/28 06:57
- 統計学 前回イベントと今回イベントのデータ集計について 質問させてください。 イベント参加者の内アンケートを 3 2022/09/30 22:23
- その他(家族・家庭) 家族関係のイベント事について 私(独身)は両親と3人で実家暮らしをしていて、兄は少し離れた所に住んで 1 2022/08/17 16:29
- その他(プログラミング・Web制作) PythonのTkinterイベントについて 2 2022/12/10 23:00
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
C# ユーザコントロール内のボタン押下を親で知る
その他(プログラミング・Web制作)
-
C# 子のコントロールからイベントを送る方法?
C言語・C++・C#
-
画面を強制的に再描画させる方法
C言語・C++・C#
-
-
4
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
5
C#を用いて描画する四角形の角を丸くする方法
C言語・C++・C#
-
6
ユーザコントロールのイベント取得について(C#)
その他(プログラミング・Web制作)
-
7
C#で、画像の、指定した座標の色情報を取得し
C言語・C++・C#
-
8
DataGridViewのセル編集完了後に値を設定するには
Visual Basic(VBA)
-
9
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
10
別のフォームで記述している関数を実行するには?C#
C言語・C++・C#
-
11
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
12
C#で起動時のフォームを非表示にした後、Showで表示したいのですが
その他(プログラミング・Web制作)
-
13
C#でButtonのフォーカス枠を消したいのですが
C言語・C++・C#
-
14
c#でTextBoxの入力制限
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サーブレットコンテキストの意...
-
Objectクラスのオブジェクトを...
-
VB.NETでのnothing の意義について
-
JTableで値を右寄せ表示する方法
-
JSPでのArrayListの表示につい...
-
エクセルVBA 画像を貼り付ける...
-
[ASP.NET]DropDownListのDB連携...
-
servletからjspへオブジェクト...
-
vectorの内容をString型に変換...
-
ピクチャーボックスに点を打つ...
-
VB.netでメソッドからコントロ...
-
GridViewに行追加するには?
-
VBAでの[]
-
オブジェクトの参照渡しについて
-
getParameter()について
-
UTF-8のテキストファイルを開く...
-
String型からlong型への変換は...
-
MIME::Parserのparse_dataメソ...
-
VBA Workbooks.open
-
Excel VBA 定数にオブジェクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでの[]
-
エクセルVBA 画像を貼り付ける...
-
サーブレットコンテキストの意...
-
C#のクラスで値渡しをする
-
Vba ListViewの行挿入に関して...
-
Excel VBA 定数にオブジェクト...
-
VB.netでメソッドからコントロ...
-
servletからjspへオブジェクト...
-
javaで、、、
-
VB.NETでのnothing の意義について
-
Dispose()は、どんな時に使うの...
-
ピクチャーボックスに点を打つ...
-
VBスクリプトでテキストファイ...
-
String型からlong型への変換は...
-
JSPでのArrayListの表示につい...
-
C#で親にイベントを投げる方法
-
MessageBox.Show(Me,…の「Me」...
-
エクセルVBA/SpecialCellsで特...
-
getParameter()について
-
VBS でのソート処理Excel2003
おすすめ情報