L'esempio di codice qui di seguito, illustra una tecnica di come invocare il metodo click di un pulsante a run time.
Nel caso si ha la necessita, di invocare l'evento click (con già il codice) di un pulsante, tramite le classi del namespace Reflection, possiamo invocarlo tranquillamento.
Aggiungere il namaspace.
VB.Net
Imports
System.ReflectionC#
using
System.Reflection;Aggiungere del codice per l'evento click del pulsante
VB.Net
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Response.Write(
"Prova")End Sub
C#
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(
"Prova");}
Nel load della form, inseriamo il seguente codice, che invoca l'evento click del pulsante.
VB.Net
Dim
tipo As Type = GetType(Button)Dim pulsante As Object() = New Object(0) {}
pulsante(0) = EventArgs.Empty
Dim m As System.Reflection.MethodInfo = tipo.GetMethod("OnClick", BindingFlags.NonPublic Or BindingFlags.Instance)
m.Invoke(Button1, pulsante)
C#
Type
tipo = typeof(Button);object[] pulsante = new object[1];
pulsante[0] =
EventArgs.Empty;System.Reflection.
MethodInfo m = tipo.GetMethod("OnClick", BindingFlags.NonPublic BindingFlags.Instance);m.Invoke(Button1, pulsante);
Nessun commento:
Posta un commento