C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: ユーザーコントロール上の右クリックのイベント


(過去ログ 105 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■62466 / inTopicNo.1)  ユーザーコントロール上の右クリックのイベント
  
□投稿者/ カール (1回)-(2011/10/12(Wed) 21:52:33)

分類:[VB.NET/VB2005 以降] 

VB2008でユーザーコントロールを作成しています。
このユーザーコントロールにはいくつかのラベルを配置しています。

例えば、このユーザーコントロールを右クリックしたときに、
このユーザーコントロールを配置したフォーム等でMouseClickイベントを検知させたいのですが、
このユーザーコントロール上のラベルの位置をクリックしてしまうと、このコントロールの
MouseClickイベントは発生しません。
(おそらくラベルのMouseClickイベントとして処理されているのだと思います。)

そこで、このユーザーコントロール上のラベルをクリックした場合でも、このユーザーコントロールを
配置したフォーム等には、このコントロールのMouseClickとして検知させたいのですが、どうすればいいのでしょうか。
引用返信 編集キー/
■62469 / inTopicNo.2)  Re[1]: ユーザーコントロール上の右クリックのイベント
□投稿者/ gonna (86回)-(2011/10/12(Wed) 22:03:23)
ユーザコントロール上のラベルのMouseClickイベントハンドらで
ユーザコントロールのMouseClickイベントをRaiseEventするとか?
引用返信 編集キー/
■62470 / inTopicNo.3)  Re[2]: ユーザーコントロール上の右クリックのイベント
□投稿者/ カール (2回)-(2011/10/12(Wed) 22:20:37)
No62469 (gonna さん) に返信
> ユーザコントロール上のラベルのMouseClickイベントハンドらで
> ユーザコントロールのMouseClickイベントをRaiseEventするとか?

ありがとうございます。
早速、RaiseEventを調べてみて、ラベルのMouseClickイベントで、

Private Sub Labelx_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Labelx.MouseClick
RaiseEvent MouseClick(Me, e)
End Sub

としてみましたが、
「派生クラスで基本クラスのイベントを発生させることはできません。」
という構文エラーが出ています。
何か基本的なところが間違っているのでしょうか?
引用返信 編集キー/
■62471 / inTopicNo.4)  Re[3]: ユーザーコントロール上の右クリックのイベント
□投稿者/ shu (1039回)-(2011/10/12(Wed) 22:32:17)
No62470 (カール さん) に返信

> 「派生クラスで基本クラスのイベントを発生させることはできません。」
> という構文エラーが出ています。
> 何か基本的なところが間違っているのでしょうか?
メッセージの通りなのですが派生クラスで基本クラスで定義されているイベントをRaiseEventすることは出来ません。
派生クラスでイベントを定義する方法またはOn〜というイベントを発生させることが出来るメソッドを使用する必要があります。
今回の場合OnMouseClickメソッドを使用するとよいかと思います。
引用返信 編集キー/
■62472 / inTopicNo.5)  Re[4]: ユーザーコントロール上の右クリックのイベント
□投稿者/ カール (3回)-(2011/10/12(Wed) 22:58:55)
No62471 (shu さん) に返信
> 派生クラスでイベントを定義する方法またはOn〜というイベントを発生させることが出来るメソッドを使用する必要があります。
> 今回の場合OnMouseClickメソッドを使用するとよいかと思います。

ありがとうございます。
早速、以下のようにしてうまくいきました。

Private Sub Labelx_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Labelx.MouseClick
Me.OnMouseClick(e)
End Sub

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -