Почему при нажатии кнопки мыши происходит событие "перемещение мыши"? - 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 + "]"; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д