2012-02-26 11 views
12

Estoy tratando de hacer un juego de tipo dragaminas en Visual C# y quiero que sucedan cosas diferentes cuando hago clic con el botón derecho y hago clic en un botón, ¿cómo hago esto?Visual C# Haz clic con el botón secundario del botón

He probado este código, sino que sólo registra los clics izquierdos:

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"); 
     } 

    } 
+0

Ya tiene la respuesta correcta, por lo que no es necesario volver a escribir eso. Escribí mi propio dragaminas hace unas semanas y le pregunté a [la pregunta de SO] (http://stackoverflow.com/questions/8485779/capture-simultaneous-right-and-left-click-event-triggers-on-label) que podría ayudarte Es cómo crear el botón "hacer clic con los dos botones del mouse al mismo tiempo en un número para descubrir todas las cajas cubiertas que lo rodean". Si ya sabes cómo hacerlo, simplemente ignórame :) –

+0

Genial, eso podría ser útil – SpencerJL

Respuesta

8

Usted tendrá que utilizar el evento o MouseUpMouseDown en lugar del evento Click para capturar clic derecho.

+0

También comprueba que 'eventArgs.button == MouseButtons.Right' –

1

Simplemente intente con button1_MouseDown evento en lugar de button1_MouseClick Evento. Solucionará su problema.

private void button1_MouseDown(object sender, MouseEventArgs e) 
    { 
     if (e.Button == MouseButtons.Left) 
     { 
      //do something 
     } 
     if (e.Button == MouseButtons.Right) 
     { 
      //do something 
     } 
    } 
0

botón está reaccionando sólo para MouseButtons.Left no para MouseButton.Right y ni siquiera por medio.

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(); 
} 
Cuestiones relacionadas