Tengo 6 botones que quiero adjuntar al mismo controlador. ¿Cómo puedo hacer esto?¿Cómo puedo suscribir varios botones al mismo controlador de eventos y actuar de acuerdo con el botón en el que se hizo clic?
Respuesta
Cuando se suscribe al evento en un botón, que es sólo un controlador de eventos estándar:
button1.Click += myEventHandler;
Se puede utilizar el mismo código para agregar controladores para cada botón:
button1.Click += myEventHandler;
button2.Click += myEventHandler;
button3.Click += myEventHandler;
button4.Click += myEventHandler;
button5.Click += myEventHandler;
button6.Click += myEventHandler;
Esto hará que su controlador en myEventHandler
se ejecute cuando se haga clic en cualquiera de los botones.
Puede adjuntar el mismo evento a varios botones mediante la unión del mismo método para cada botón haga clic en evento
myButton1.Click += new MyButtonClick;
myButton2.Click += new MyButtonClick;
myButton3.Click += new MyButtonClick;
myButton4.Click += new MyButtonClick;
myButton5.Click += new MyButtonClick;
myButton6.Click += new MyButtonClick;
void MyButtonClick(object sender, EventArgs e)
{
Button button = sender as Button;
//here you can check which button was clicked by the sender
}
He usado CommandName y CommandArgument para identificar los diferentes botones vinculados al mismo evento onclick. Le di +1 por ti. – Vijayaraghavan
Cómo ver qué botón se pulsa:
Utilice la sender
Button myButton = (Button)sender;
sender
es un parámetro de tipo object
en el controlador de eventos.
En lugar de hacer doble clic en el evento en el diseñador, puede pegar el nombre del controlador de eventos al evento en la cuadrícula de propiedades del diseñador.
alambre Sólo los botones al mismo evento:
myButton1.Click += Button_Click;
myButton2.Click += Button_Click;
myButton3.Click += Button_Click;
...
Y manejar los botones en consecuencia:
private void Button_Click(object sender, EventArgs e)
{
string buttonText = ((Button)sender).Text;
switch (buttonText)
{
...
}
}
El objeto sender
contiene la referencia al botón que causó el evento Click. Puede devolverlo al Button
y acceder a cualquier propiedad que necesite para distinguir el botón real.
El elenco terminó con información de ensamblaje faltante. –
myButton1.Click += new EventHandler(MyButtonClick);
myButton2.Click += new EventHandler(MyButtonClick);
myButton3.Click += new EventHandler(MyButtonClick);
myButton4.Click += new EventHandler(MyButtonClick);
myButton5.Click += new EventHandler(MyButtonClick);
myButton6.Click += new EventHandler(MyButtonClick);
public void MyButtonClick(object sender, MouseButtonEventArgs e)
{
switch ((sender as Button).Name)
{
case "button1":
//actions
break;
case "button2":
//actions
break;
default:
break;
}
}
Dice "No se pudo encontrar el espacio de tipo o nombre para el botón". –
no soy un experto pero yo uso esto y se ve bastante sencilla
<Button x:Name="Button1" Content="Button" Click="Button_Click"/>
<Button x:Name="Button2" Content="Button" Click="Button_Click"/>
acaba de dar los dos botones al mismo evento de clic
En main.axml añadir esto a todo el botones
android:clickable="whateveryoulike"
y todos los botones deben tener el mismo id
en el MainActivity
[Java.Interop.Export("whateveryoulike")]
void whateveryoulike2(View v){
Button button=(Button) v;
//your code here
}
el nombre del método no importa
- 1. botón vba - buscar al que se hizo clic
- 2. ¿Cómo puedo saber en qué botón se hizo clic en el envío de un formulario PHP?
- 3. ¿Cómo puedo saber en qué botón se hizo clic?
- 4. ¿Cómo puedo encontrar el botón al que se hizo clic desde el evento de envío de formulario en jquery?
- 5. Manejando un clic en el botón "Suscribir" de Facebook
- 6. ¿Cómo puedo saber en qué botón de envío se hizo clic?
- 7. Determinar el último elemento al que se hizo clic
- 8. Evitar que se toquen varios botones al mismo tiempo
- 9. jquery javascript: actuar cuando se selecciona el botón de opción
- 10. cómo detectar qué botón se hizo clic con jQuery
- 11. Agregar varios botones a una vista mediante programación, llamar al mismo método, determinar qué botón era
- 12. Buscar nodo al que se hizo clic en el menú contextual
- 13. ¿Puedo conectar varios objetos con etiquetas diferentes al mismo IBOutlet?
- 14. ¿Puedo aumentar botones en el área de clic programáticamente?
- 15. Cómo hacer referencia al objeto con el botón derecho en el elemento de menú contextual de WPF, haga clic en el controlador de eventos.
- 16. Detectando CTRL + Clic para la celda de DataGridView en el mismo controlador de eventos
- 17. ¿Cómo creo varios botones de envío para el mismo formulario en Rails?
- 18. Sistema de eventos: ¿Cómo saber si el editor hizo clic en Guardar o Guardar y cerrar?
- 19. ¿Cómo puedo obtener el elemento al que se hizo clic con el botón derecho a través del menú contextual de Google Chrome?
- 20. Se encontraron varios tipos que coinciden con el controlador llamado 'Inicio'. (Dos áreas, el mismo nombre de controlador)
- 21. Impedir que un diálogo se cierre en el controlador de eventos click del botón
- 22. ¿Cómo hacer que el botón no se pueda hacer clic después de hacer clic en él?
- 23. El botón y el botón de enlace de Bootstrap no tienen el mismo ancho. ¿Como arreglar?
- 24. Un botón activando otros botones haga clic en el evento
- 25. Habilitar y deshabilitar el botón de acuerdo con el texto en EditText en Android
- 26. C#: llamar a un método de controlador de eventos de botón sin hacer clic realmente en el botón
- 27. Cómo tocar el botón Haz clic en Eventos en jQuery?
- 28. botones de tamaño uniforme de acuerdo al contenido de botón grande
- 29. Cómo deshabilitar el botón, haga clic en?
- 30. ¿Cómo recargar mi UIViewController al hacer clic en algunos botones?
cablear 6 veces .... –
Eso es lo que estoy tratando de evitar. Puedo hacer doble clic en los botones de la vista de diseñador y generar 6 apéndices, pero ¿por qué querría hacer eso cuando puedo suscribir los botones a un solo evento? –
en lugar de hacer doble clic, suelte la lista y seleccione el controlador existente ... –