2009-05-03 8 views

Respuesta

18

Usted puede utilizar el método Button.PerformClick.

+3

1. En cuanto a cualquier otro evento, la estructura del evento está específicamente diseñada para hacer que el propietario del evento sea el único objeto capaz de invocarlo directamente. La clase Button expone a PerformClick permitirá simular un clic, pero no todos los eventos tendrá esto (por buenas razones). –

+0

gracias amigo ... tan simple y aún ....: D usted es un salvavidas ...: D –

2

También puede mirar en la accesibilidad de Windows o algún marco de automatización de interfaz de usuario que le permite a la causa mediante programación de interfaz de usuario controla para responder a los gestos del usuario. Si un control no ofrece una manera para que sus eventos se desencadenen mediante programación como PerformClick, puede derivar de ese control y exponer un método público como PerformnXXX que cuando se invoca internamente invoca los controladores de eventos suscritos a un evento en particular.

12

Tal vez la solución es mucho más sencilla:

Tal vez usted realmente no quieren su código "para hacer clic en el botón".
¿Desea ejecutar el código que está detrás del botón desde otro lugar en el formulario?

Si es así, poner el código en un método separado (como "DoActionXXX") y llame al método desde el botón y desde cualquier otro lugar donde lo necesite.

+0

Esta es la forma de rito cuando se utiliza un control personalizado. :) – Cipi

+1

+1 para una respuesta muy educativa. – nam

1

botón de clic y de nuevo mi ventana manualmente ex .. dital.cs abrir la ventana puede

0

no creo que el envío de eventos de clic es la mejor manera desde un punto de diseño que acaba de hacer su controlador de eventos llamar a otro función. De esa manera siempre tienes acceso a esa función.

así ..

vacío MyEventHandler (ObjectwhoSentTheMessage O, E Evento) {

MyOtherFunction();

// consumen el evento después si lo desea, etc

}

Cuestiones relacionadas