//================================================================================================= // C#で作るイベントの基本(カーソル編) // Window内にカーソルを入れる・出す動作を行うと文字が変更されるプログラム。 // MouseEnter -> Windowに入れる動作で処理するイベント // MouseLeave -> Windowから出した時に処理するイベント // // 注意点として、ラベルと重なっているところにカーソルを置くとWindowから出たと判断されるので注意。 // 逆にLabelの大きさ = Windowの大きさにすると常にカーソルが出ている状態になるので文字に変化が // 起こらない。 // // 参考文献:やさしいC#(p156) // 2012/11/12/オワタ //================================================================================================= using System; using System.Windows.Forms; class CursorEvent { static Form fm; //< Window static Label lb; //< ラベル public static void Main() { //< Window生成 設定 fm = new Form(); fm.Text = "カーソルイベント"; fm.Width = 250; fm.Height = 200; //< ラベル生成 設定 lb = new Label(); lb.Text = "待機状態"; lb.Parent = fm; //< カーソルがWindowに入った時、出た時のイベントハンドル設定 fm.MouseEnter += new EventHandler(formMouseEnter); fm.MouseLeave += new EventHandler(formMouseLeave); //< 実行 Application.Run(fm); } //< カーソルがWindowに入った時に実行されるイベント public static void formMouseEnter(Object obj, EventArgs e) { lb.Text = "カーソル侵入!"; } //< カーソルがWindowを出た時に実行されるイベント public static void formMouseLeave(Object obj, EventArgs e) { lb.Text = "カーソル脱走!"; } };