【发布时间】:2014-01-30 10:05:24
【问题描述】:
如何使用 C# 单击泡沫加载按钮?
我的按钮叫:btnFacebookLogin
我尝试了以下方法:
private void Form1_Shown(Object sender, EventArgs e)
{
btnFacebookLogin.PerformClick();
}
我正在使用 WinForms C# .NET 4
【问题讨论】:
标签: c# .net winforms form-load
如何使用 C# 单击泡沫加载按钮?
我的按钮叫:btnFacebookLogin
我尝试了以下方法:
private void Form1_Shown(Object sender, EventArgs e)
{
btnFacebookLogin.PerformClick();
}
我正在使用 WinForms C# .NET 4
【问题讨论】:
标签: c# .net winforms form-load
你可以这样做:
public void Form1_Load(object s, EventArgs e){
btnFacebookLogin.PerformClick();
}
而且我认为您知道以下事件处理程序应该存在于您的代码中:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("hi");
}
【讨论】:
您需要实际单击按钮是否有特定原因?
我只是将点击事件中的代码移动到一个函数中,然后从加载事件和点击事件中调用该函数。它将绕过调用click()
例如:
private void Form1_Shown(Object sender, EventArgs e)
{
DoFacebookLogin();
}
private void btnFacebookLogin_Click(Object sender, EventArgs e)
{
DoFacebookLogin();
}
private void DoFacebookLogin()
{
//Do Work here
}
【讨论】:
请务必在 InitializeComponent() 和Load 事件
之后链接您的处理程序public Form1()
{
InitializeComponent();
Load += Form1_Shown;
}
private void Form1_Shown(Object sender, EventArgs e)
{
btnFacebookLogin.PerformClick();
}
【讨论】:
@PriceCheaperton : 你可以从另一个事件中调用一个事件,最简单的例子在这里。
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>
输出:
【讨论】: