【问题标题】:How to set many events for one function如何为一个功能设置多个事件
【发布时间】:2014-04-20 13:48:31
【问题描述】:

我的表单中有这个组件:

textbox1
textbox2
textbox3
textbox4

button1

还有一个功能:

private void checkStatusTextBoxes()
{
   button1.Enabled = ( (textbox1.Text.Length != 0) && (textbox2.Text.Length != 0) && (textbox3.Text.Lenght != 0) && (textbox4.Text.Length !=0));
}

我想在文本框中更改文本时检查它,给你:

private void textbox1_TextChanged(object sender, EventArgs e)
{
  checkStatusTextBoxes();
}

我不会为每个文本框重复它,我会添加一个事件(?)。我该怎么做?

【问题讨论】:

  • 为所有这些附加 textbox1_TextChanged 事件处理程序。这很容易。

标签: c# textbox textchanged


【解决方案1】:

对于表单上的每个文本框...

  1. 右键单击文本框
  2. 选择属性
  3. 点击闪电获取事件列表
  4. 转到TextChanged
  5. 点击下拉箭头
  6. 选择textbox1_TextChanged 作为事件处理程序

我建议更改事件处理程序的名称,以便清楚地处理所有 TextChanged 事件,而不仅仅是 textbox1 的事件。

【讨论】:

    【解决方案2】:

    只需对它们使用相同的事件处理程序:

    textbox1.TextChanged += textBox_TextChanged;
    textbox2.TextChanged += textBox_TextChanged;
    textbox3.TextChanged += textBox_TextChanged;
    textbox4.TextChanged += textBox_TextChanged;
    

    【讨论】:

      【解决方案3】:

      您可以将相同的处理程序附加到您的文本框,例如:

      textbox1.TextChanged += TextChanged;
      textbox2.TextChanged += TextChanged;
      textbox3.TextChanged += TextChanged;
      textbox4.TextChanged += TextChanged;
      
      private void TextChanged(object sender, EventArgs e)
      {
          checkStatusTextBoxes();
      }
      

      【讨论】:

        【解决方案4】:

        只需添加相同的事件处理程序:

        textbox1.TextChanged += textbox_TextChanged;
        textbox2.TextChanged += textbox_TextChanged;
        textbox3.TextChanged += textbox_TextChanged;
        textbox4.TextChanged += textbox_TextChanged;
        
        private void textbox_TextChanged(object sender, EventArgs e)
        {
          checkStatusTextBoxes();
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-06-29
          • 2011-02-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多