簡體   English   中英

在文本框C#上按Enter后,標簽單擊事件

[英]Label click event after pressing enter on textbox c#

我在c#中有一個winforms登錄,我想讓它在按密碼框上的Enter鍵后嘗試登錄。

我有一個用戶名文本框,密碼文本框和一個提交標簽。

我有這個用於輸入Enter鍵。

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

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

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

解決此問題的一種更簡單的方法是將表單上的AcceptButton設置為您的登錄按鈕,只要焦點位於表單上的任何位置,默認情況下,Enter都會單擊該按鈕。

我認為您的代碼當前如下所示:

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
}

您可以使用:

signinbutton.PerformClick();

有關詳細信息,請參見Button.PerformClick

如果密碼TextBox是表單上唯一的文本框,則您可能還需要考慮將signinbutton按鈕標記為默認按鈕。 這將導致此行為自動發生。

我制作了一個不可見的按鈕並將其設置為當有人按下Enter鍵時將觸發該按鈕。

  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");
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM