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

わんくま同盟

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

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


(過去ログ 36 を表示中)
■18015 / )  Re[3]: フォーム上の右クリックでフォームを閉じるには・・・
□投稿者/ 魔界の仮面弁士 (718回)-(2008/05/07(Wed) 22:39:31)
No18009 (けい さん) に返信
>>マウス押下時に void Form_MouseDown(…) が呼び出されるようにするには、
>>フォームのプロパティ画面で、稲妻アイコンをクリックして表示されるタブにて
>>MouseDown イベントに、Form_MouseDown を割り当てておく必要があります。
> なんと!この連休中ひとりで悩んでいたことが解決しました!
> ……でも自分で直接打ち込んでもダメなのはなんででしょう?
Form1.designer.cs というファイルに、
 this.MoseDown += 〜
という割り当て設定が書かれているかと思います。
自分で直接打ち込んだ場合でも、この割り当てを行っておけば動作しますよ。


> フォーム上に別のコントロールがあると
> マウスカーソルがフォームの内側にあっても無効になりますね。
コントロール上でも反応させたい、ということでしょうか。
それだと、TextBox 上で右クリックメニュー(コンテキストメニュー)を表示しようとした時にも、
フォームが閉じてしまう事になるわけですから、使い勝手が悪くなってしまうような気がします。


> 「フォーム上の右クリック」を「フォームの内側で右クリック」にするには
> マウスカーソルの位置取得とフォームの範囲を照合すればよろしいのでしょうか?
(案1) 各コントロールのイベントに、それぞれ同じようにコードを書く。
(案2) Timer を使い、定期的にマウス座標を調べるようにする。
(案3) DirectInput でマウス操作の情報を受け取るようにする。

といった所で如何でしょう。
返信 編集キー/


管理者用

- Child Tree -