Считывание нажатий мышки - C#
Формулировка задачи:
Доброго времени суток. Подскажите, пожалуйста, есть ли в C# возможность считывания последовательности нажатия клавиш и как это сделать? Скажем так, необходимо прописать условие на то, чтобы считать сначала нажатие ЛКМ, а затем ПКМ с небольшой задержкой. Как считать при условии повторения этих клавиш, например, ЛКМ, ПКМ, ПКМ?
Надеюсь на скорую помощь. Заранее благодарен.
Решение задачи: «Считывание нажатий мышки»
textual
Листинг программы
using System.Windows.Forms;
public partial class Form1 : Form
{
private List<MouseButtons> combo;
private Timer timer;
public Form1()
{
InitializeComponent();
combo = new List<MouseButtons>();
timer = new Timer();
timer.Interval = 250;
timer.Tick += new EventHandler(elapsed);
}
private void button1_MouseDown(object sender, MouseEventArgs e)
{
if (timer.Enabled == false)
{
timer.Start();
}
combo.Add(e.Button);
timer.Interval += 250;
}
private void elapsed(object sender, EventArgs e)
{
switch(combo.Count)
{
case 1:
if (combo[0] == MouseButtons.Left)
{
richTextBox1.Text += "Only one :(\n";
}
break;
case 2:
if (combo[0] == MouseButtons.Left && combo[1] == MouseButtons.Left)
{
richTextBox1.Text += "DoubleLeftClick!\n";
}
break;
}
timer.Enabled = false;
combo.Clear();
}
}