C# WinForms多行TextBox自动换行追加内容问题求助
解决TextBox追加内容到下一行的问题
嘿,这个问题其实很好解决!你当前的代码是直接替换了FeedbackTextBox.Text的内容,所以每次新的反馈都会覆盖掉旧的。要实现追加到下一行,只需要把新内容拼接到原有内容后面,再加上换行符就可以啦。
基础实现方案
直接使用+=操作符,把新内容和换行符一起追加到原有文本后面:
if(MasterOnOff.Checked == true) { // 用Environment.NewLine适配不同系统的换行规则(Windows是\r\n,Linux是\n) FeedbackTextBox.Text += Environment.NewLine + "Master Switch On"; } if(MasterOnOff.Checked == false) { FeedbackTextBox.Text += Environment.NewLine + "Master Switch Off"; }
优化方案(避免首行空行)
如果TextBox初始为空,上面的代码第一次追加时会多出一个空行。可以先判断文本是否为空,再决定是否添加换行符:
string feedbackMessage = MasterOnOff.Checked ? "Master Switch On" : "Master Switch Off"; if (string.IsNullOrEmpty(FeedbackTextBox.Text)) { FeedbackTextBox.Text = feedbackMessage; } else { FeedbackTextBox.Text += Environment.NewLine + feedbackMessage; }
重要注意事项
别忘了确保你的FeedbackTextBox的Multiline属性已经设置为true,否则换行符不会生效,所有内容还是会挤在一行里。
内容的提问来源于stack exchange,提问作者Philip
相关产品推荐
相关产品推荐

