[英]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.