Почему при нажатии кнопки мыши происходит событие "перемещение мыши"? - C#

Узнай цену своей работы

Формулировка задачи:

Просто нажал на левую кнопку мыши и сразу же отпустил. А сам указатель мыши находится на месте Почему в этом случает возникает событие "перемещение мыши"?

Решение задачи: «Почему при нажатии кнопки мыши происходит событие "перемещение мыши"?»

textual
Листинг программы
  1. using System;
  2. using System.Windows.Forms;
  3.  
  4.  
  5.  
  6.  
  7.  
  8. class MyButtonClass : Form
  9. {
  10.     private Button mrButton;
  11.  
  12.     // метод-конструктор
  13.     public MyButtonClass()
  14.     {
  15.         // форма
  16.         this.MouseDown += new MouseEventHandler(TheMouseIsDown);
  17.         this.MouseDoubleClick += new MouseEventHandler(TheMouseIsDoubleClick);
  18.         this.MouseMove += new MouseEventHandler(TheMouseMove);
  19.  
  20.         // кнопка
  21.         mrButton = new Button();
  22.         mrButton.Text = "Нажми";
  23.         mrButton.Left = 100;
  24.         mrButton.Top = 100;
  25.         mrButton.Width = 70;
  26.         mrButton.Height = 50;
  27.         mrButton.Click += new System.EventHandler(MyButtonClick);
  28.         this.Controls.Add(mrButton);
  29.     }
  30.  
  31.     // основной метод
  32.     static void Main()
  33.     {
  34.         Application.Run(new MyButtonClass());
  35.     }
  36.  
  37.     protected override void OnLoad(EventArgs e)
  38.     {
  39.         base.OnLoad(e);
  40.         this.Left = 0;
  41.         this.Top = 0;
  42.         this.Width = 500;
  43.         this.Height = 300;
  44.     }
  45.  
  46.     // метод-обработчик события для кнопки
  47.     void MyButtonClick(object sender, EventArgs e)
  48.     {
  49.         mrButton.Text = "Вы нажали на кнопку!";
  50.     }
  51.  
  52.     // метод-обработчик события для мыши (нажатие кнопки)
  53.     void TheMouseIsDown(object sender, MouseEventArgs e)
  54.     {
  55.         if (e.Button==MouseButtons.Left)        this.Text = "Была нажата левая кнопка мыши. [" + e.X + ", " + e.Y + "]";
  56.         else if (e.Button==MouseButtons.Middle) this.Text = "Была нажата средняя кнопка мыши. [" + e.X + ", " + e.Y + "]";
  57.         else if (e.Button==MouseButtons.Right)  this.Text = "Была нажата правая кнопка мыши. [" + e.X + ", " + e.Y + "]";
  58.     }
  59.    
  60.     // метод-обработчик события для мыши (двойной щелчок)
  61.     void TheMouseIsDoubleClick(object sender, MouseEventArgs e)
  62.     {
  63.         if (e.Button==MouseButtons.Left)        this.Text = "Двойной щелчок левой кнопкой мыши";
  64.         else if (e.Button==MouseButtons.Middle) this.Text = "Двойной щелчок средней кнопкой мыши";
  65.         else if (e.Button==MouseButtons.Right)  this.Text = "Двойной щелчок правой кнопкой мыши";
  66.     }
  67.  
  68.     // метод-обработчик события для мыши (пермещение мыши)
  69.     void TheMouseMove(object sender, MouseEventArgs e)
  70.     {
  71.         this.Text = "Перемещение мыши. [" + e.X + ", " + e.Y + "]";
  72.     }
  73. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы