VS2019 C# 多行文本框逐行追加内容时前一行被覆盖如何解决
问题根源
你的代码每次都直接对LogBox.Text执行赋值操作,新内容会直接覆盖文本框原有全部内容,该问题和换行符选择、Multiline属性配置无关。
解决方案
有三种常用实现方式可选:
- 使用追加赋值运算符
+=替换原有赋值运算符=,在已有内容后拼接新内容 - 调用TextBox控件原生的
AppendText()方法实现追加,写法更简洁 - 先拼接好所有待输出的日志内容,再一次性赋值给
LogBox.Text,适合日志条数较多的场景,可减少UI重绘次数
修正后参考代码
// 可选:执行前先清空原有日志 LogBox.Text = string.Empty; if (File.Exists(SourcepathGLEXE)) { LogBox.AppendText("Game Loader EXE Found" + Environment.NewLine); FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(selectedPath + fileNameGLEXE); versionSourceBox.Text = myFileVersionInfo.FileVersion; } else { LogBox.AppendText("Game Loader EXE not found" + Environment.NewLine); } if (File.Exists(SourcepathCONEXE)) { LogBox.AppendText("Game Loader Config Found" + Environment.NewLine); } else { LogBox.AppendText("Game Loader Config not found" + Environment.NewLine); }
内容的提问来源于stack exchange,提问作者Alex McCreath
相关产品推荐
相关产品推荐

