Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
マウスのクリック
マウスのクリックを検出する
マウスのクリックを検出して MessageBox を表示します。
前田稔(Maeda Minoru)の超初心者のプログラム入門


プロジェクトの設定
- マウスのクリックを検出する方法には、デリゲートする方法とオーバーライドする方法があります。
デリゲートの設定は メソッドの追加と削除 を参照して下さい。
オーバーライドの説明は メソッドのオーバーライド を参照して下さい。
どちらを使うかは、そのときの気分と好みの問題でしょうか。 (^_^;)
ここではデリゲートする方法を説明しています。
- 空のプロジェクト(Click)を作成して下さい。
詳細は Form を作成する を参照して下さい。
- 下記のプログラムを Click.cs の名前でプロジェクトのフォルダーに格納して、プロジェクトに取り込んで下さい。
/********************************************/
/*★ Mouse の Click を検出する 前田 稔 ★*/
/********************************************/
using System;
using System.Drawing;
using System.Windows.Forms;
public class MyForm : Form
{
public MyForm()
{
MouseDown += new MouseEventHandler(OnMyMouseDown);
}
private void OnMyMouseDown(object sender, MouseEventArgs e)
{
MessageBox.Show("Mouse がクリックされました");
}
}
class mouse
{
public static void Main()
{
MyForm mf = new MyForm();
Application.Run(mf);
}
}
|
- new MyForm() で Form を継承した MyForm Object Class を生成します。
Application.Run(mf) で MyForm に制御を渡し、メッセージループに入ります。
- MouseDown の EventHandler を設定します。
Form 上でマウスがクリックされると、OnMyMouseDown が呼び出されます。
|
MouseDown += new MouseEventHandler(OnMyMouseDown);
|
- OnMyMouseDown で MessageBox を表示してマウスがクリックされたことを確認します。
|
MessageBox.Show("Mouse がクリックされました");
|
- 左クリック/右クリックは、次のように調べて下さい。
private void OnMyMouseDown(object sender, MouseEventArgs e)
{ if (e.Button == MouseButtons.Left) //マウスの左ボタン
{
・・・
}
if (e.Button == MouseButtons.Right) //マウスの右ボタン
{
・・・
}
|
- 自動生成を使って Form を作成 の場合です。
Form1.cs のデザイン画面からプロパティのイベント(稲妻アイコン)をクリックします。
[Mouse Down] の右にあるコンボボックスに "OnMyMouseDown" とタイプするとイベントハンドラが追加されます。
OnMyMouseDown は上記と同じです。
private void OnMyMouseDown(object sender, MouseEventArgs e)
{
MessageBox.Show("Mouse がクリックされました");
}
|
コンパイル&実行して、マウスをクリックしてみて下さい。

【演習】
- Mouse がクリックされた座標を取得するソースコードです。
private void OnMyMouseDown(object sender, MouseEventArgs e)
{
int xp,yp;
xp = e.X;
yp = e.Y;
|
- MessageBox でクリックされた座標も一緒に表示して下さい。
int 型を String 型に変換するときは Convert.ToString() を使います。

前田稔(Maeda Minoru)の超初心者のプログラム入門

※・
※・
※・