So klicken Sie beim Laden eines Formulars mit C# auf eine Schaltfläche
Frage
Wie klicke ich mit C# auf eine Schaltfläche beim Schaumladen?Mein Button heißt: btnFacebookLogin
Folgendes habe ich versucht:
private void Form1_Shown(Object sender, EventArgs e)
{
btnFacebookLogin.PerformClick();
}
Ich verwende WinForms C# .NET 4
Lösung
Stellen Sie sicher, dass Sie Ihren Handler verlinken nach InitializeComponent() und to Belastung Ereignis
public Form1()
{
InitializeComponent();
Load += Form1_Shown;
}
private void Form1_Shown(Object sender, EventArgs e)
{
btnFacebookLogin.PerformClick();
}
Andere Tipps
Gibt es einen bestimmten Grund, warum Sie tatsächlich auf die Schaltfläche klicken müssen?
Ich würde einfach den Code im Click-Ereignis in eine Funktion verschieben und diese Funktion dann sowohl vom Load-Ereignis als auch vom Click-Ereignis aus aufrufen.Es wird die Notwendigkeit umgehen, anzurufen click()
Zum Beispiel:
private void Form1_Shown(Object sender, EventArgs e)
{
DoFacebookLogin();
}
private void btnFacebookLogin_Click(Object sender, EventArgs e)
{
DoFacebookLogin();
}
private void DoFacebookLogin()
{
//Do Work here
}
Du kannst das :
public void Form1_Load(object s, EventArgs e){
btnFacebookLogin.PerformClick();
}
Und ich gehe davon aus, dass Sie wissen, dass der folgende Ereignishandler in Ihrem Code dahinter vorhanden sein sollte:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("hi");
}
@PriceCheaperton:Sie können ein Ereignis von einem anderen Ereignis aus aufrufen. Das einfachste Beispiel finden Sie hier.
C# :
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Button1_Click(sender, e);
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("Calling event from an event...");
}
}
ASPX:
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>
Ausgabe :