Red de conocimiento informático - Material del sitio web - Cómo activar un evento de clic en un botón usando código C#

Cómo activar un evento de clic en un botón usando código C#

1. Método de llamada básico

1. button1.PerformClick();

2. button1_Click(null,null);

3. button_Click(null,new?EventArgs());

2. Usar llamada de reflexión

//Crear una función

llamada vacía privadaOnClick(Botón btn )

{

//Crear un tipo

Tipo t = typeof(Button);

//Objeto de parámetro

objeto[] p = nuevo objeto[1];

//Generar método

MethodInfo m = t.GetMethod("OnClick", BindingFlags.NonPublic | BindingFlags . Instancia);

//Asignación de parámetros. Pasar la función

p[0] = EventArgs.Empty;

//Invoke

m.Invoke(btn, p);

return;

}

(Aquí hay una línea en blanco)

//Ejemplo de llamada.

//Onclick del Botón1 de Llamada

callOnClick(Button1);

(Aquí hay una línea en blanco)

//Onclick del Botón5 de Llamada

callOnClick(Button5);

Información ampliada:

Además del evento de clic de botón anterior, también se pueden llamar más eventos

private void callButtonEvent(Botón btn, string EventName)

{ ?

//Crear un tipo

Tipo t = typeof(Button);

//Objeto de parámetro

objeto[] p = nuevo objeto[1];

//Generar método

MethodInfo m = t. (EventName, BindingFlags.NonPublic | BindingFlags.Instance);

//Asignación de parámetros. Pasar función

//Obtener información de parámetros

ParameterInfo[] para =? m.GetParameters();

//Obtener parámetros según sus nombres de valor nulo.

p[0] = Type.GetType(para[0].ParameterType.BaseType.FullName).GetProperty("Empty");

//Llamar

m.Invoke(btn, p);

return;

}

(Una línea en blanco aquí)

// Ejemplo de llamada.

//Onclick del Botón1 de llamada

callButtonEvent(Button1, "OnClick");

(Una línea vacía aquí)

/ / Llamar a OnKeyPress de Button5

callButtonEvent(Button5, "OnKeyPress");