【问题标题】:RichTextBox new Text append on topRichTextBox 新文本附加在顶部
【发布时间】:2021-11-26 20:43:20
【问题描述】:

我的C# 应用程序中有一个RichtTextBox 向用户显示日志。问题是新插入的文本appends在旧文本下方,但我想append它在旧文本之上。

例如,当我附加文本“Newtext”时,它看起来像这样:

RichtTextBox:

|---------------------
|Oldtext             |
|Newtext             |
|---------------------

但它需要看起来像这样:

RichTextBox:

|---------------------
|Newtext             |
|Oldtext             |
|---------------------

这是我用来填写 RichTextBox 的代码:

public void DisplayLog(string logtext)
        {
            if (logtext != "")
            {
                if (this.txtLog.InvokeRequired && !txtLog.IsDisposed)
                {
                    Invoke(new MethodInvoker(delegate()
                        {
                            txtLog.AppendText(DateTime.UtcNow + ": " + logtext + "\n");
                        }));
                }
                else if (!txtLog.IsDisposed)
                {
                    txtLog.AppendText(DateTime.UtcNow + ": " + logtext + "\n");
                }
            }
        }

有人可以帮帮我吗?

答案:

Inserting at top of richtextbox

【问题讨论】:

标签: c# winforms


【解决方案1】:

使用插入

txtLog.Text =  txtLog.Text.Insert(0,DateTime.UtcNow + ": " + logtext + "\n");

【讨论】:

【解决方案2】:

我认为 txtlog 是 RichTextBox,你应该把它放在前面。

要做到这一点,首先使用

txtlog .SelectionStart = 0;
txtlog .SelectionLength = 0;
txtlog .SelectedText = (DateTime.UtcNow + ": " + logtext + "\n");

【讨论】:

    猜你喜欢
    • 2011-09-02
    • 2020-02-12
    • 2011-07-27
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 2021-08-14
    相关资源
    最近更新 更多