【问题标题】:KeyPress event using textbox C# winform [duplicate]使用文本框C#winform的KeyPress事件[重复]
【发布时间】:2018-11-16 11:44:04
【问题描述】:

我的 winform 中有很多文本框。可能有 20 到 30 个文本框。 我需要所有的texbox只有在打字时才有数字。

我使用每个文本框的按键事件来处理数字(下面的代码)

 if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.'))
            {
                e.Handled = true;
            }
            // only allow one decimal point
            if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1))
            {
                e.Handled = true;
            }

有没有可能在 1 个按键事件中继承所有文本框?

【问题讨论】:

  • 你已经有了这个事件,只需将它分配给所有文本框的'keypress'事件。
  • 在 VS 中,选择所有文本框,然后在属性检查器中,转到事件并选择您的事件处理程序。
  • @PoulBak 我已经完成了所有文本框都有按键事件。我在问是否有可能的简单编码方法不将按键事件应用于所有文本框。
  • 您是否动态创建文本框?
  • 好奇——下面这行实际上在做什么(即控制的东西)...``` if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.')) ``` 我使用以下 - 在某些情况下会失败吗? ... ``` If Asc(e.KeyChar) 57 Then e.Handled = True End If ```

标签: c# visual-studio winforms keypress


【解决方案1】:

只为一个文本框实现按键事件。

然后选择另一个文本框并转到按键事件并选择您已经实现的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    相关资源
    最近更新 更多