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

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

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

Re[2]: VB.NET(WPF)?でのマウス入力イベントについて


(過去ログ 132 を表示中)

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

■78287 / inTopicNo.1)  VB.NET(WPF)?でのマウス入力イベントについて
  
□投稿者/ M&N (1回)-(2016/01/04(Mon) 10:09:59)

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

はじめて投稿(質問)いたします。
以前はVB6を時々使っていまして、現在、VisualStudio2013でVB(WPFアプリケーション)を思い出したように使っていますが、
以前の感覚でマウスからの入力でMouseUpとMouseDownのイベントを使ってみたのですが、
左右どちらのボタンでもイベントは発生すると思っていましたが、右ボタンではイベントが発生しますが
左ボタンではイベントが発生しません。
何か間違ったのかと思い、新規作成で新しいWindows上に単純にボタンとラベルだけで試してみましたが、
同じ結果でした。
左ボタンの操作でMouseUpとMouseDownイベントが発生しない原因は何なのでしょうか?

ネット上の記事等を参考に利用しているので、基礎をよく学習していないため、単純な原因かもとは
思いましたが、ネット検索等で調べても中々解決できる情報を探せませんでしたので、アドバイスを頂ければと思い
投稿させていただきました。
よろしくお願いいたします。



引用返信 編集キー/
■78288 / inTopicNo.2)  Re[1]: VB.NET(WPF)?でのマウス入力イベントについて
□投稿者/ Hongliang (389回)-(2016/01/04(Mon) 12:09:39)
2016/01/04(Mon) 12:11:04 編集(投稿者)

Buttonの場合、マウスの左ボタンダウンは、Clickの開始きっかけになる操作です。
このような、そのUI要素にとって意味のあるイベントは、その要素が受け取った時点で「処理済み」としてマークされ、それ以降のイベント通知が行われなくなります。
右ボタンダウンはButtonにとって特に意味がないため、処理済みとはならず、それ以降のイベント通知も行われることになります。
どうしても左ボタンダウンでのイベントが必要であれば、PreviewMouseDownイベントの使用を検討してください。
(一般的にはClickイベントで十分でしょうけども…。こちらであればキーボード操作によるものなども一括できますし)
引用返信 編集キー/
■78289 / inTopicNo.3)  Re[2]: VB.NET(WPF)?でのマウス入力イベントについて
□投稿者/ M&N (2回)-(2016/01/04(Mon) 14:35:16)
No78288 (Hongliang さん) に返信
> 2016/01/04(Mon) 12:11:04 編集(投稿者)
>
> Buttonの場合、マウスの左ボタンダウンは、Clickの開始きっかけになる操作です。
> このような、そのUI要素にとって意味のあるイベントは、その要素が受け取った時点で「処理済み」としてマークされ、それ以降のイベント通知が行われなくなります。
> 右ボタンダウンはButtonにとって特に意味がないため、処理済みとはならず、それ以降のイベント通知も行われることになります。
> どうしても左ボタンダウンでのイベントが必要であれば、PreviewMouseDownイベントの使用を検討してください。
> (一般的にはClickイベントで十分でしょうけども…。こちらであればキーボード操作によるものなども一括できますし)

アドバイスありがとうございます。 PreviewMouseDown と PreviewMouseUp で 希望する動作になりました。
マウスボタンを軽く押したか長押しかで処理を分けるために MouseDonwn と MouseUp を使うつもりでした。

ありがとうございました。

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


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

このトピックに書きこむ

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

管理者用

- Child Tree -