- - PR -
RaiseEventかなぁ
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-10 21:38
ありがとうございます。
もう少し具体的に書くと、 親コントロールの上に子コントロールが乗っていまして、 親コントロールのマウスダウンイベントが発生したら、子コントロールのマウスダウンイベントも発生させたいのです。 それで、やっかいなのが、親コントロールがマウスダウンされた時に子コントロールを作成し、Addして、子コントロールのマウスダウンイベントを発行したいのです。 子コントロールにパブリックなメソッドを用意して、そこでマウスダウンイベントを発行すればよいのかなとも思うのですが、やり方がわからなくて困っています。 よろしくお願いいたします。 | ||||||||||||
|
投稿日時: 2004-06-10 23:11
諸農です。
何のために子コントロールでイベントを発砲しなければならないのでしょうか? 子コントロールのマウスダウンイベントハンドラに結びつける予定の MouseEventHandler型のメソッドを親コントロールの マウスダウンイベントハンドラ内から呼び出せばいいのでは? そもそも、子コントロールのマウスダウンイベント呼び出しメソッ ドのOnMouseDownメソッドを親コントロールから呼び出せたとして も、呼び出すその前に子コントロールのイベントにマウスダウンか ら呼び出してもらうデリゲートを登録する必要がありますけど、 なんでまたそんなややこしい事をわざわざする必要があるのでしょうか?
Invoke()メソッド? _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||||||
|
投稿日時: 2004-06-10 23:35
私が子コントロールでキーダウンを拾ったときはこんなでした。
this.ParentForm.KeyPreview = true ; this.ParentForm.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FunctionKey_KeyDown); | ||||||||||||
|
投稿日時: 2004-06-11 08:52
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12279&forum=7&2
これの続き? 子コントロール Public Class ChildControl Inherits System.Windows.Forms.Control Public Sub NastedOnイベント(e As EventArgs) Onイベント(e) End Sub End Class 斜字体は、適宜変更のこと。 親のイベントハンドラから、子のNestedOnイベントメソッドをコールすればよい。 | ||||||||||||
|
投稿日時: 2004-06-11 10:22
ご返答ありがとうございます。
でもVB.netではonではできませんでした。 「On Goto 及び On GoSubステートメントは現在サポートされていません」と、 出てしまいました。 スレッドが2つになってしまったのは、 返答と間違えて投稿してしまったからです。すいません。 | ||||||||||||
|
投稿日時: 2004-06-11 11:10
Jittaさんが仰っているのは、OnHogeHoge(e)という、通常のメソッド呼び出しです。 HogeHogeの部分にイベント名が入る感じになります。 ※例えばOnClick等々 | ||||||||||||
|
投稿日時: 2004-06-11 12:15
あ〜、こういう返答は、まったく予想していませんでした えっと、名前付け規則でですね、イベントを発生させるメソッドは「On」+「イベント名」ってなっているんですね。で、
の部分は、例えばマウスダウンならば
と、書きます。こっちの方が自然かな、と思ったので名前は修正しています。よくわかるように、MyBaseで修飾しました。 | ||||||||||||
|
投稿日時: 2004-06-14 13:03
こんにちわ
ありがとうございます。 OnMouseDownでマウスダウンイベントが動きました。 でも、そのままMouseMoveとかはできないみたいで、また困っています。 これも同じようにするしかないのでしょうか? |