WPFのコントロール上のマウスカーソルを変更するには

WPFのコントロール上のマウスカーソルを変更するには、QueryCursorイベントを使用します。

mShape.QueryCursor += ShapeQueryCursor;

マウスカーソルがコントロール上に移動すると、QueryCursorイベントが発生します。

引数QueryCursorEventArgsのCursorプロパティに表示するマウスカーソルを設定します。

private void ShapeQueryCursor(object sender, QueryCursorEventArgs e)
{
  e.Cursor = Cursors.Cross;
  e.Handled = true;
}

標準のマウスカーソルを使用する場合は、Cursorプロパティを設定しません。

private void ShapeQueryCursor(object sender, QueryCursorEventArgs e)
{
  if (...)
  {
    e.Cursor = Cursors.Cross;
   }
   else
   {
     // 設定しない場合は標準のマウスカーソル
   }
  e.Handled = true;
}

なお、QueryCursorEventArgsのCursorプロパティにnullを設定した場合、Cursorプロパティの値はCursors.Noneになり、マウスカーソルは表示されません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です