TextBox AutoComplete的事件已更改

时间:2017-07-24 07:42:10

标签: c# textbox

我的Windows窗体中有两个文本框,名为txtUserNametxtPassword,现在我正在使用代码填充txtUserName

AutoCompleteStringCollection myCollection = new AutoCompleteStringCollection();
_userEMailList = UserCredentials.GetUserEmails();

foreach (var item in _userEMailList)
{
    myCollection.Add(item);
}

txtUserName.AutoCompleteCustomSource = myCollection;

其中UserCredentials.GetUserEmails()方法返回List<string>

现在,用户将获得建议,因此可以从其中一个选项中进行选择。

所以我的问题是当用户从其中一个建议中选择时,txtPassword的值应该自动填充。我有一个方法,它将EMail-ID作为参数并返回密码。在Web应用程序中,我们可以使用onblur但由于我的代码是Windows应用程序的一部分,因此无法使用JavaScript

1 个答案:

答案 0 :(得分:2)

您应该检查按Enter键。使用鼠标从自动完成中选择项目也会触发:

private void txtUserName_KeyDown(object sender, KeyEventArgs e) 
{
    if (e.KeyData == Keys.Enter) 
    {
        this.txtPassword.Text = GetPassword(this.txtUserName.Text);
    }
}
相关问题