未分類

C# マウス移動時に発生するイベントの順序を判断する

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_MouseEnter(object sender, EventArgs e)
{
  listBox1.Items.Add("MouseEnter");
}

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
  listBox1.Items.Add("MouseMove");
}

private void Form1_MouseHover(object sender, EventArgs e)
{
  listBox1.Items.Add("MouseHover");
}

private void Form1_MouseLeave(object sender, EventArgs e)
{
  listBox1.Items.Add("MouseLeave");
}

解説

マウスを移動すると、MouseEnter / MouseMove / MouseHover / MouseLeave の順でイベントが発生します。

MouserHover イベントは、マウスが一定時間以上動かなかった時のみ発生します。またその発生は、MosuerEnter から MouserLeave の 1 サイクルの間で 1 回だけのようです。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類