Почему при нажатии кнопки мыши происходит событие "перемещение мыши"? - C#
Формулировка задачи:
Просто нажал на левую кнопку мыши и сразу же отпустил. А сам указатель мыши находится на месте
Почему в этом случает возникает событие "перемещение мыши"?
Решение задачи: «Почему при нажатии кнопки мыши происходит событие "перемещение мыши"?»
textual
Листинг программы
- using System;
- using System.Windows.Forms;
- class MyButtonClass : Form
- {
- private Button mrButton;
- // метод-конструктор
- public MyButtonClass()
- {
- // форма
- this.MouseDown += new MouseEventHandler(TheMouseIsDown);
- this.MouseDoubleClick += new MouseEventHandler(TheMouseIsDoubleClick);
- this.MouseMove += new MouseEventHandler(TheMouseMove);
- // кнопка
- mrButton = new Button();
- mrButton.Text = "Нажми";
- mrButton.Left = 100;
- mrButton.Top = 100;
- mrButton.Width = 70;
- mrButton.Height = 50;
- mrButton.Click += new System.EventHandler(MyButtonClick);
- this.Controls.Add(mrButton);
- }
- // основной метод
- static void Main()
- {
- Application.Run(new MyButtonClass());
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- this.Left = 0;
- this.Top = 0;
- this.Width = 500;
- this.Height = 300;
- }
- // метод-обработчик события для кнопки
- void MyButtonClick(object sender, EventArgs e)
- {
- mrButton.Text = "Вы нажали на кнопку!";
- }
- // метод-обработчик события для мыши (нажатие кнопки)
- void TheMouseIsDown(object sender, MouseEventArgs e)
- {
- if (e.Button==MouseButtons.Left) this.Text = "Была нажата левая кнопка мыши. [" + e.X + ", " + e.Y + "]";
- else if (e.Button==MouseButtons.Middle) this.Text = "Была нажата средняя кнопка мыши. [" + e.X + ", " + e.Y + "]";
- else if (e.Button==MouseButtons.Right) this.Text = "Была нажата правая кнопка мыши. [" + e.X + ", " + e.Y + "]";
- }
- // метод-обработчик события для мыши (двойной щелчок)
- void TheMouseIsDoubleClick(object sender, MouseEventArgs e)
- {
- if (e.Button==MouseButtons.Left) this.Text = "Двойной щелчок левой кнопкой мыши";
- else if (e.Button==MouseButtons.Middle) this.Text = "Двойной щелчок средней кнопкой мыши";
- else if (e.Button==MouseButtons.Right) this.Text = "Двойной щелчок правой кнопкой мыши";
- }
- // метод-обработчик события для мыши (пермещение мыши)
- void TheMouseMove(object sender, MouseEventArgs e)
- {
- this.Text = "Перемещение мыши. [" + e.X + ", " + e.Y + "]";
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д