no quiero hacer clic en el botón. en cambio, solo quiero ejecutar el código de evento click. ¿Cómo haría esto?C# ¿es posible activar el evento button_click con código?
Respuesta
button1_click(null, new EventArgs());
Y ore para que el argumento 'remitente' no se use. –
si desea utilizar el remitente de lo que simplemente lo pone en lugar de nulo. – cichy
Pruebe un keybd_event con P/Invoke http://msdn2.microsoft.com/en-us/library/ms646304(VS.85).aspx
veces hago eso por hecho llamar a la función de controlador de eventos, eso es si realmente aplicado.
llamar Literalmente se siente:
button1_Click(this, new EventArgs());
desde dentro o fuera de la Form
donde el Button
es? lo más sencillo es simplemente llamar a la función:
Button1_Click(Button1, EventArgs.Empty);
opción: utilizar PerformClick()
.
Echa un vistazo aquí: How to: Call a Button's Click Event Programmatically.
La ventaja aquí es que el comportamiento del evento será exactamente el mismo que el de un botón real (como opuesto a llamar directamente al button1_click
).
Pero ninguna de estas opciones es la mejor en mi humilde opinión. Si necesita llamar al código del controlador de eventos, ¡necesita un nuevo método! Simplemente refactorice el antiguo button1_click
en un nuevo método estándar y llámelo desde donde lo desee.
+1: siempre he supuesto que 'PerformClick' es mejor que llamar directamente al controlador del botón, ya que el framework sabe mejor que usted en cuanto a algo especial que necesita hacer. También aborda el comentario de Ben Voigt sobre el argumento 'emisor'. – Powerlord
+1 para el refactor del antiguo botón1_click, tiene tanto sentido – Spooks
- 1. ¿Es posible activar el evento onbeforeunload programmatically?
- 2. Activar un evento con el Prototipo
- 3. ¿Es posible simbolizar el código C++?
- 4. ¿Es posible mezclar el código C89 con el código C99?
- 5. ¿Es posible activar un evento de clic al pasar el mouse sobre él?
- 6. ¿Es posible formatear el código de C++ con VIM?
- 7. Jasmine no puede activar el evento click
- 8. ASP.NET - ¿Es posible activar una devolución de datos desde el código del servidor?
- 9. Metaprogramación de plantillas C++: ¿es posible generar el código generado?
- 10. ¿Es posible ocultar una contraseña definida en el código C++
- 11. WPF con C++, ¿es posible?
- 12. ¿Activar el menú de acordeón jquery por evento?
- 13. ¿Es posible llamar al código C++ desde C#?
- 14. Cómo activar el evento TextBox.TextChanged en jquery onkeyup?
- 15. ¿cómo puedo activar el evento Onclick programáticamente en android?
- 16. Activar un evento de clic con los parámetros
- 17. ¿Es posible escribir código para escribir código?
- 18. Cambiar hash sin activar un evento hashchange
- 19. ¿Es posible serializar un bloque de código C#?
- 20. No se puede activar el evento MouseWheel en C# Windows Forms
- 21. Activar la acción predeterminada de un evento
- 22. ¿Es posible trabajar con OrientDB usando C#?
- 23. ¿es posible usar Eigen con c?
- 24. Activar un evento en `clic` y` enter`
- 25. En el evento mousedown, ¿es posible cancelar el evento Click resultante? o pasarle información?
- 26. ¿Es posible escribir código de ensamblaje en vb.net o C#?
- 27. ¿Es posible ejecutar código nativo de C++ en Windows Azure?
- 28. Es posible hacerse clic con el ejecutable regular de C++
- 29. ¿Es posible cargar .net dll desde el código Lua?
- 30. ¿Es posible compilar dinámicamente y ejecutar fragmentos de código C#?
¡La respuesta corta es Sí! – abhi
Si tiene el control del código en el controlador de eventos click, lo correcto es extraer ese código a un método diferente que se puede llamar desde cualquier lugar. – snarf