2012-05-29 84 views
0

我在c#中有一個winforms登錄,我想讓它在密碼框上按回車鍵後嘗試登錄。在文本框上按回車後標籤點擊事件c#

我有我的提交用戶名文本框,密碼文本框和標籤。

我有這個爲我的輸入按鍵。

private void password_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     if (e.KeyChar == (char)13) 
     { 

      signinbutton.Click(); //I was thinking something like this would work       
     } 
    } 

任何想法,將不勝感激謝謝。

+2

你的問題在哪裏? – mellamokb

+0

@mellamokb我認爲這個問題是「我如何在我的表單中按一下按鈕?」,基本上。 –

回答

3

我相信你的代碼目前看起來是這樣的:

private void password_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar == (char)13) 
    { 
     // what do i do here?   
    } 
} 
private void signinbutton_Click(object sender, EventArgs e) 
{ 
    //do stuff 
    //do stuff 
    //do stuff 
} 

這裏是我建議你這樣做:

private void password_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar == (char)13) 
    { 
     DoStuff(); 
    } 
} 
private void signinbutton_Click(object sender, EventArgs e) 
{ 
    DoStuff(); 
} 
private void DoStuff() { 
    //do stuff 
    //do stuff 
    //do stuff 
} 
+0

在我意識到我的DoStuff()並不是那麼多東西之後採用了這種方法。謝謝, – user541597

1

您可以使用:

signinbutton.PerformClick(); 

詳見Button.PerformClick

如果密碼TextBox是窗體上唯一的文本框,您可能還需要考慮將signinbutton按鈕標記爲默認按鈕。這會導致這種行爲自動發生。

4

解決此問題的一個更簡單的方法是將表單上的AcceptButton設置爲您的登錄按鈕,只要焦點位於窗體上的任何位置,這將導致默認情況下按Enter鍵來按下按鈕。

+0

這很好,只要這是表單中唯一的按鈕,並且OP希望從表單中的任何位置按下按鈕,而不僅僅是一個文本框。 –

+0

在這種情況下,您可以使用textbox.onfocus {acceptbutton = myButton;} –

+0

來設置它不需要是表單上唯一的按鈕,只是他想要按下的那個按鈕,而是假設他可以用當焦點位於表單上的任何位置時,不僅僅是在密碼框中輸入焦點時按下的鍵(但我認爲這很少是這種情況)。 –

0

我做了一個按鈕,這是不可見的,並設置它,這樣,當有人按下回車鍵,它會觸發按鈕。

private void Textbox1_KeyDown(object sender, KeyEventArgs e) 
    { 
     //if the enter key is pressed it triggers the submit button. 
     if (e.KeyCode == Keys.Enter) 
     { 
      buttonSubmit_Click((object)sender, (EventArgs)e); 

     } 
    } 

    private void buttonSubmit_Click(object sender, EventArgs e) 
    { 
     //this is what the enter key triggers. 
     MessageBox.Show("you hit the enter key"); 
    } 
相關問題