【发布时间】: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