textBox经常用来显示程序的运行状态或者消息,如何让他自动滚动呢?
winform的比较简单,但是WPF C#的以前没接触过,我百度了很多都没找到理想的代码。后然才无意发现,其实非常简单,在显示消息代码下加一条自动滚动到底部的语句即可:
TextBox1.ScrollToEnd();
(如果要显示垂直滚动条设置VerticalScrollBarVisibility="Auto",如果不显示设置为Hidden)
我用的程序代码如下(我的用了多线程,所以看起来挺复杂):
this.btnStart.Dispatcher.Invoke(new Action(() =>
{
if (rtxtProgramRunStatus.LineCount > 100)
{ rtxtProgramRunStatus.Clear(); } //大于100行清除记录
rtxtProgramRunStatus.AppendText(string.Format("{0},ONU:{1}show mac 执行完成,第{2}轮,累计扫描{3}台.\r\n", DateTime.Now.ToString(), onuIp,Round,CheckedOnuCount+1));//插入运行结果
rtxtProgramRunStatus.ScrollToEnd(); //自动滚动到底部
}));
}
有滚动条和无滚动条效果如下: