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 p >
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); p >
//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");