You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinForm开发中如何实现textBox1输入时自动更新textBox2的行数统计

问题原因

你当前的行数统计逻辑写在了textBox2的TextChanged事件中,只有textBox2内容发生改动时才会触发计算;而对应textBox1内容改动的textBox1_TextChanged方法为空,所以在textBox1中输入内容时不会触发统计更新。

修改方案

步骤1:调整事件逻辑

将统计逻辑移到textBox1的内容变更事件中,不需要保留textBox2的TextChanged绑定(避免修改textBox2时多余触发逻辑),修改后的代码如下:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    string strtext = textBox1.Text;
    // 若需要统计空行,请删除StringSplitOptions.RemoveEmptyEntries参数
    var textArr = strtext.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
    textBox2.Text = textArr.Length.ToString();
}

// 此方法可直接删除,同时可以删除InitializeComponent中textBox2的TextChanged事件绑定代码
private void textBox2_TextChanged(object sender, EventArgs e)
{

}

可选优化

如果不需要手动修改textBox2的内容,可将其设为只读状态,避免误操作:
在InitializeComponent的textBox2配置段添加一行:

this.textBox2.ReadOnly = true;

也可以直接在窗体设计器的textBox2属性面板中把ReadOnly属性改为True。

内容的提问来源于stack exchange,提问作者Alexdgg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:36:05