2010-08-25 43 views
1

我不確定在Visual Studio C#windows應用程序中使用RichTextBox發生了什麼。這不是一個網絡應用程序。RichTextBox滾動

我有一個處理多個文件的過程。在處理過程中,它使用AppendText在RichTextBox中發佈進度報告。 (添加了換行符,保持整潔。)此過程從一個應用程序遷移到另一個應用程序。新應用程序中的表單是從頭開始用新的RichTextBox創建的,代碼被複制。

在原始應用程序中,當郵件到達框的底部時,它們開始滾動,因此新的文本行始終可見。在新的應用程序中,它不會滾動(儘管我希望它),因此新消息(包括指示該過程的最後一個消息)在底部之下不可見。我比較了這兩個程序,但我沒有看到其中的差別。我不明白這種行爲會如何控制。影響焦點或刷新行爲的程序有可能存在差異,或者其他。

我應該在哪裏看?

回答

0

您可以只需預先您的消息,使最新的消息總是在頂部?

rchLog.Text = newMessage + "\n" + rchLog.Text; 
3
richTextBox1.Select(richTextBox1.TextLength, 0); // put caret at end 
richTextBox1.ScrollToCaret(); 
如果你想保持你需要存儲 SelectionStartSelectionLength和滾動後恢復選擇中的選擇

+0

謝謝。這似乎工作。不過,我仍然不知道爲什麼我的兩個程序在性能上有所不同。 – SeaDrive 2010-09-01 19:27:09

+0

@海洋駕駛:你在你的問題中沒有提到性能。這是關於什麼的? – 2010-09-01 20:23:57

+0

re:表現。我不確定爲什麼一個版本的程序會滾動而另一個不會。執行速度意義上與性能無關。 – SeaDrive 2010-09-02 19:54:27