[英]Passing arguments to a Button click event function
我有一个由用户名文本框、密码文本框和登录按钮组成的表单。 填写密码文本框后,我想在按回车后激活登录按钮。 我不知道如何调用 function。
private void Login_button_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(IntrarePassword.Text) || string.IsNullOrEmpty(IntrareUser.Text))
return;
Form2 form2 = new Form2();
form2.Username = IntrareUser.Text;
form2.Show();
}
private void IntrarePassword_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
Login_button_Click();
}
Login_button_Click 参数应该是什么?
最简单的解决方案是注册密码控件的 KeyPress 事件,过滤按下的键,然后更新按钮的 Enabled 属性。
Msdn 是你的朋友 ^^: https://docs.microsoft.com/en-us/dotnet/framework/winforms/how-to-handle-keyboard-input-at-the-form-level
编辑:误解了你的问题,我的错。 由于您不使用 arguments,因此可以传递 null/default 或将代码提取到两个事件处理程序都可以调用的新无参数方法中。
将表单的 AcceptButton 设置为 Login_button ,它会在按下回车键时被点击。 在表单的 Load 事件中输入此代码:
this.AcceptButton = Login_button;
如果您希望在按下回车键后启用登录按钮,请执行以下操作:
在您的表单中,从 Properties 选项卡将 Login_button 的 Enabled 属性设置为 false。
将您的代码更改为:
private void Login_button_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(IntrarePassword.Text) || string.IsNullOrEmpty(IntrareUser.Text))
return;
Form2 form2 = new Form2();
form2.Username = IntrareUser.Text;
form2.Show();
}
private void IntrarePassword_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
Login_button.Enabled = true;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.