2014-01-11 40 views
4

如何單擊使用C#的泡沫加載按鈕? 我的按鈕被稱爲:btnFacebookLogin如何使用C#單擊表單加載按鈕#

我已經嘗試了這個以下:

private void Form1_Shown(Object sender, EventArgs e) 
{ 
    btnFacebookLogin.PerformClick(); 
} 

我使用的WinForms C#.NET 4

回答

5

確保後的InitializeComponent(到您的處理鏈接),並負載事件

public Form1() 
{ 
    InitializeComponent(); 
    Load += Form1_Shown; 
} 

private void Form1_Shown(Object sender, EventArgs e) 
{ 
    btnFacebookLogin.PerformClick(); 
} 
+0

這個工程!謝謝!由於SO定時器在5分鐘內接受... – PriceCheaperton

2

你可以這樣做:

public void Form1_Load(object s, EventArgs e){ 
    btnFacebookLogin.PerformClick(); 
} 

我請考慮您知道您的代碼中應該存在以下事件處理程序:

private void button1_Click(object sender, EventArgs e) 
    { 
     MessageBox.Show("hi"); 
    } 
+0

可悲的是這對我來說行不通。我什至嘗試把MessageBox.Show(「測試」); – PriceCheaperton

+0

你發佈的是:Form1_Shown,你應該改變它Form1_Load,它絕對有效 – Karamafrooz

3

是否有一個特定的原因需要實際點擊按鈕?

我只是將click事件中的代碼移入一個函數,然後從load事件和click事件中調用該函數。它會得到解決需要調用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 
} 
+1

這裏唯一的好答案 –

0

@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> 

輸出: enter image description here

+0

你爲什麼要發佈Windows標記的HTML標記問題? –

+0

@Sergey Berezovskiy:對於'PriceCheaperton'提到的場景,實現是一樣的。只是我正在使用Web技術。我已經將這個解決方案發布到Web表單中。即使在沒有任何C#代碼更改的Windows窗體中也可以實現相同的功能。 –

+1

問題標有* winforms *標籤。此外,我不明白瀏覽器的截圖如何幫助這裏 –