c#统计多个文本框的字符数
c# count characters of multiple text boxes
我有两个(而且会更多,但在本例中我将保留为两个)文本框,我想将它们的字符数合计到一个标签中。
我的两个文本框分别称为 probDescTextbox 和 stepsToRepoTextbox。
我正在使用 winforms 和 TextChanged 事件。我不确定是否有办法在没有多个 TextChanged 事件的情况下使它工作,但如果我嵌套它,我会收到一个错误,如果我再做一个,我似乎无法获得要添加的数字。
代码:
private void probDescTextBox_TextChanged(object sender, EventArgs e)
{
int probDescLimit = probDescTextBox.Text.Length;
int stepsToRepoLimit = stepsToRepoTextBox.Text.Length;
int charLimit = probDescLimit + stepsToRepoLimit;
if (charLimit >= 50)
{
probDescCharLabel.ForeColor = Color.Red;
probDescCharLabel.Text = charLimit.ToString() + " Over Limit!!";
}
else
{
probDescCharLabel.ForeColor = Color.Black;
probDescCharLabel.Text = charLimit.ToString();
}
}
我相信这很简单,但我找不到使用多个文本框的示例。
提前致谢。
您可以将文本更改事件连接到同一个处理程序。
编辑:
1.) 将事件处理程序的名称更改为更通用的名称,以便您知道它不是特定于 probDescTextBox
:
private void note_TextChanged(object sender, EventArgs e)
{
//Same code as you have above, or see note...
}
注意:如果您需要知道哪个文本框触发了事件,请参阅答案here。您可以检查发件人。这将允许您仅设置触发事件的文本框的前景色。
2.) 如下所示在表单的构造函数中连接事件处理程序,或者如果您使用的是设计器,请更改每个文本框属性中的值 window:
public MyForm()
{
//wire each textbox's TextChanged event to the same handler
probDescTextBox.TextChanged += note_TextChanged;
stepsToRepoTextbox.TextChanged += note_TextChanged;
}
我有两个(而且会更多,但在本例中我将保留为两个)文本框,我想将它们的字符数合计到一个标签中。
我的两个文本框分别称为 probDescTextbox 和 stepsToRepoTextbox。
我正在使用 winforms 和 TextChanged 事件。我不确定是否有办法在没有多个 TextChanged 事件的情况下使它工作,但如果我嵌套它,我会收到一个错误,如果我再做一个,我似乎无法获得要添加的数字。
代码:
private void probDescTextBox_TextChanged(object sender, EventArgs e)
{
int probDescLimit = probDescTextBox.Text.Length;
int stepsToRepoLimit = stepsToRepoTextBox.Text.Length;
int charLimit = probDescLimit + stepsToRepoLimit;
if (charLimit >= 50)
{
probDescCharLabel.ForeColor = Color.Red;
probDescCharLabel.Text = charLimit.ToString() + " Over Limit!!";
}
else
{
probDescCharLabel.ForeColor = Color.Black;
probDescCharLabel.Text = charLimit.ToString();
}
}
我相信这很简单,但我找不到使用多个文本框的示例。
提前致谢。
您可以将文本更改事件连接到同一个处理程序。
编辑:
1.) 将事件处理程序的名称更改为更通用的名称,以便您知道它不是特定于 probDescTextBox
:
private void note_TextChanged(object sender, EventArgs e)
{
//Same code as you have above, or see note...
}
注意:如果您需要知道哪个文本框触发了事件,请参阅答案here。您可以检查发件人。这将允许您仅设置触发事件的文本框的前景色。
2.) 如下所示在表单的构造函数中连接事件处理程序,或者如果您使用的是设计器,请更改每个文本框属性中的值 window:
public MyForm()
{
//wire each textbox's TextChanged event to the same handler
probDescTextBox.TextChanged += note_TextChanged;
stepsToRepoTextbox.TextChanged += note_TextChanged;
}