我的Windows窗体中有两个文本框,名为txtUserName
和txtPassword
,现在我正在使用代码填充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
。
答案 0 :(得分:2)
您应该检查按Enter键。使用鼠标从自动完成中选择项目也会触发:
private void txtUserName_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Enter)
{
this.txtPassword.Text = GetPassword(this.txtUserName.Text);
}
}