WPF C# TextBox自动滚动到最户一行

亡梦爱人 提交于 2020-03-20 21:17:25

3 月,跳不动了?>>>

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(); //自动滚动到底部
                    }));
                }

有滚动条和无滚动条效果如下: 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!