WindowsFormsアプリでマウスイベントのサンプル

マウスを移動したり、クリックしたり(押した瞬間、離した瞬間含む)した時の情報を取得してみましょう

2つのフォームのデザイン

プロジェクトを右クリックして、新規でフォーム(Form2)を作成します
Form1にはボタンを、Form2にはラベルを1つずつ配置しておきましょう

コード

Form1のサンプル

Form1のコンストラクタでForm2のインスタンスを作成しています

ボタンをクリックするとForm2のラベルが更新されます

マウスを移動させたり、押した瞬間、離した瞬間のイベントハンドラを定義しています

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        Form2 form2;

        public Form1()
        {
            InitializeComponent();

            form2 = new Form2();
            form2.Show();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            form2.Hp = 100;
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            // Console.WriteLine($"x = {e.X}, y = {e.Y}");
        }

        Point startPos;

        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            Console.WriteLine(e.Button);

            if (e.Button == MouseButtons.Left)
            {
                Console.WriteLine("左ボタンが押された");
            }
            else if (e.Button == MouseButtons.Right)
            {
                Console.WriteLine("右ボタンが押された");

            }

            //startPos.X = e.X; ;
            //startPos.Y = e.Y;

            startPos = new Point(e.X, e.Y);

        }

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            Console.WriteLine($"マウスが押された x = {startPos.X}, y = {startPos.Y}");

            Console.WriteLine($"マウスが離された x = {e.X}, y = {e.Y}");
        }
    }
}

Form2のサンプル

using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form2 : Form
    {
        public int Hp 
        {
            set
            {
                label1.Text = value.ToString();
            }
        }


        public Form2()
        {
            InitializeComponent();
        }
    }
}

実行結果のサンプル

出力ウィンドウで確認することができます

Left
左ボタンが押された
マウスが押された x = 108, y = 45
マウスが離された x = 108, y = 45
Right
右ボタンが押された
マウスが押された x = 108, y = 45
マウスが離された x = 108, y = 45

Formsアプリの場合のConsole.WriteLineメソッドでの表示場所

表示されていない時は、表示メニューから選択できます