多个TextChanged和KeyPress事件

本文关键字:事件 KeyPress TextChanged 多个 | 更新日期: 2023-09-27 18:03:46

我有很多TextBox控件。对于每个TextBox控件,我得到他们的text_Changed和key_Press事件。因此,我的Form.cs变得太拥挤了。我的问题是,有没有可能让这个空间更自由?有些事件只包含一个函数。

示例代码:

private void txtItem_TextChanged(object sender, EventArgs e)
{
    showButtonSave();
}
private void txtItem_KeyPress(object sender, KeyPressEventArgs e)
{
    showButtonSave();
    char ch = e.KeyChar;
    if (ch == (char)Keys.Enter)
    e.Handled = true;
}
private void txtItem2_TextChanged(object sender, EventArgs e)
{
    showButtonSave();
}
private void txtItem2_KeyPress(object sender, KeyPressEventArgs e)
{
    showButtonSave();
    char ch = e.KeyChar;
    if (ch == (char)Keys.Enter)
    e.Handled = true;
 }

多个TextChanged和KeyPress事件

在你的txtItem2中你可以进入它的属性在那里它写着ontextchange你应该看到它被设置为txtItem2_KeyPress将其更改为txtItem_KeyPress然后它们都将使用

private void txtItem_KeyPress(object sender, KeyPressEventArgs e)
{
  showButtonSave();
  char ch = e.KeyChar;
  if (ch == (char)Keys.Enter)
  e.Handled = true;
}

您可以为每种类型(txtItem_TextChanged/txtItem_KeyPress)创建一个事件,并将其映射到所有文本框。在sender的帮助下,您可以获得实际的控制和操作,如您所愿