c#计算多个文本框的字符数

c#计算多个文本框的字符数,c#,textbox,string-length,C#,Textbox,String Length,我有两个(还有更多,但在本例中,我将保留两个)文本框,我希望将字符总数合并到一个标签中 我拥有的两个文本框称为probDescTextbox和stepsToRepoTextbox 我正在使用winforms和TextChanged事件。我不确定是否有办法在没有多个TextChanged事件的情况下让它工作,但是如果我嵌套它,我会得到一个错误,如果我再做一个,我似乎无法得到要添加的数字 代码: 我相信这很简单,但我找不到使用多个文本框的示例 提前感谢。您可以将文本更改事件关联到同一个处理程序 编辑

我有两个(还有更多,但在本例中,我将保留两个)文本框,我希望将字符总数合并到一个标签中

我拥有的两个文本框称为probDescTextbox和stepsToRepoTextbox

我正在使用winforms和TextChanged事件。我不确定是否有办法在没有多个TextChanged事件的情况下让它工作,但是如果我嵌套它,我会得到一个错误,如果我再做一个,我似乎无法得到要添加的数字

代码:

我相信这很简单,但我找不到使用多个文本框的示例


提前感谢。

您可以将文本更改事件关联到同一个处理程序

编辑:

1.)将事件处理程序的名称更改为更通用的名称,以便您知道它不是特定于
probDescTextBox

 private void note_TextChanged(object sender, EventArgs e)
    {
       //Same code as you have above, or see note...
    }
注意:如果您需要知道哪个文本框触发了事件,请查看答案。你可以检查发送者。这将允许您仅设置触发事件的文本框的前景色

2.)如下图所示在窗体的构造函数中连接事件处理程序,或者如果使用设计器,请更改每个文本框的“属性”窗口中的值:

public MyForm()
{
     //wire each textbox's TextChanged event to the same handler
     probDescTextBox.TextChanged += note_TextChanged;
     stepsToRepoTextbox.TextChanged += note_TextChanged;
}

您是否尝试将两个文本框的事件指向同一个方法?您可以将所有
TextChanged
事件指向同一个事件处理程序,如果这是每个事件都需要做的事情,则不需要在每个事件中都使用相同的代码。根据您谈论的文本框数量,您可以创建一个包含所有文本框的列表,并使用一点Linq或循环来获取所有文本框的总长度,而不是单独查询
.length
属性。此代码是工作版本还是非工作版本?对于非工作版本,错误是什么?您有什么类型的错误?@jAC:这意味着事件处理程序仅由该文本框调用。另一个文本框是否调用
TextChanged
处理程序?嗨@Noel,你能用一个例子详细说明一下吗?哦,伙计,这比我尝试的要简单得多。万分感谢!
public MyForm()
{
     //wire each textbox's TextChanged event to the same handler
     probDescTextBox.TextChanged += note_TextChanged;
     stepsToRepoTextbox.TextChanged += note_TextChanged;
}