Web検索はbingがおすすめ!

マウスポインタのスクリーン座標を取得する - C#

マウスポインタのスクリーン座標を取得するコードを紹介します。

概要

こちらの記事では、マウスのフォーム上の座標を取得するコードを紹介しました。一般的なアプリケーションではフォーム上の座標が取得できれば多くの処理は実装できますが、状況によってはマウスポインタのスクリーン座標を取得したいことがあります。この記事ではマウスポインタのスクリーン座標を取得するコードを紹介します。

書式

マウスポインタのスクリーン座標を取得するには、Cursor オブジェクトの Position プロパティの値を利用します。
x座標を取得する場合
Cuursor.Position.X
y座標を取得する場合
Cuursor.Position.Y

プログラム例

Windows Formアプリケーションを作成します。

UI

下図のUIを作成します。フォームにLabelを一つ配置します。

コード

下記のコードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace MousePointerScreenPosition
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
      label1.Text = string.Format("Screen Position : {0:d}, {1:d}", 
        Cursor.Position.X, Cursor.Position.Y);
    }
  }
}

解説

フォーム上でマウスポインタが移動した際に下記のMouseMoveイベントが発生しコードが実行されます。コードでは Cursor.Position プロパティの値を取得しマウスポインタのスクリーン座標をlabel1に表示しています。
    private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
      label1.Text = string.Format("Screen Position : {0:d}, {1:d}", 
        Cursor.Position.X, Cursor.Position.Y);
    }

実行結果

上記のプロジェクトを実行します。下図のウィンドウが表示されます。


フォーム上にマウスポインタが移動するとラベルにマウスポインタの座標が表示されます。座標値はスクリーン座標の値が表示されます。



マウスポインタの位置のスクリーン座標を取得することができました。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2018-07-11
iPentec all rights reserverd.