【问题标题】:Keyboard Actions on UIC - C#UIC 上的键盘操作 - C#
【发布时间】:2011-01-10 19:18:04
【问题描述】:

我有一个登录表单


(来源:deviantart.net

我想要的是,当我按“Enter”填写密码字段后,它会执行一些操作,一些代码行,在我的情况下与“登录按钮”相同。怎么做

【问题讨论】:

    标签: c# winforms keyboard-events uicomponents


    【解决方案1】:

    在密码文本框上为按键添加事件处理程序,在该事件处理程序中检查输入键,并调用登录按钮绑定到的(事件处理程序)方法。

    【讨论】:

    • 如何检查键是否为“Enter”,请详细说明,我是 C# 新手
    • KeyPressEventArgs 包含一个名为 KeyCode 的属性,您可以将其与 Keys.Enter 进行比较。
    【解决方案2】:

    将表单的AcceptButton 设置为“登录”按钮,并在其点击处理程序中编写执行登录的“代码行”。

    如果未填写用户名或密码,您可以禁用“登录”按钮。将两个文本框对象的 TextChanged 事件连接到执行此操作的事件处理程序:

     void UserNameOrPasswordTextChanged(object sender, EventArgs e) {
         loginButton.Enabled = !string.IsNullOrEmpty(userNameTextBox.Text) &&
                               !string.IsNullOrEmpty(passwordTextBox.Text);
     }
    

    仅在密码字段中处理 Enter 键对用户来说可能非常不直观。假设他填写了密码框并返回到用户名字段以更正错字,然后按 Enter。如果您刚刚为密码文本框处理 KeyPress 并检查它,它将无法工作,这会让用户感到沮丧。

    【讨论】:

      猜你喜欢
      • 2014-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-15
      • 1970-01-01
      • 2017-01-26
      • 1970-01-01
      相关资源
      最近更新 更多