Visual C # Form правой кнопкой мыши - PullRequest
12 голосов
/ 26 февраля 2012

Я пытаюсь сделать игру типа тральщика в Visual C # и хочу, чтобы по-разному происходило, когда я щелкаю правой кнопкой мыши и нажимаю левую кнопку, как мне это сделать?

Я пробовал этот код, но он регистрирует только левые клики:

    private void button1_MouseClick(object sender, MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Left)
        {
            MessageBox.Show("Left");
        }
        if (e.Button == System.Windows.Forms.MouseButtons.Right)
        {
            MessageBox.Show("Right");
        }

    }

Ответы [ 3 ]

8 голосов
/ 26 февраля 2012

Вам потребуется использовать событие MouseUp или MouseDown вместо события Click для захвата щелчка правой кнопкой мыши.

1 голос
/ 04 октября 2013

Просто попробуйте с событием button1_MouseDown вместо button1_MouseClick Событие. Это решит вашу проблему.

 private void button1_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Left)
        {
          //do something
        }
        if (e.Button == MouseButtons.Right)
        {
          //do something
        }
    }
0 голосов
/ 26 декабря 2017

Кнопка реагирует только на MouseButtons.Left, не на MouseButton.Right и даже не на середину.

void Select(object sender, MouseEventArgs e)
{
    /* var btn = sender as CardButton;*/

    if (e.Button == MouseButtons.Left)
    {
        if (this.Selected == false)
        { 
            this.Selected = true;
        }
        else
        {
            this.Selected = false;
        }
    }
    if (e.Button == MouseButtons.Right)
    {
        if (this.Selected == false)
        {
            this.Selected = true;
        }
        else
        {
            this.Selected = false;
        }
    }

    Draw();
}
...