2010-10-12 406 views
4

我希望能够向用户显示进程更新信息。我想这样做的方式是通过控制主要的Winform(在尚未确定的过程中)通过文本来告知用户状态。随着更多文本的添加,我希望这个文本能够滚动(在一个控件中)。C# - 在WinForm中显示大量文本

达到此目的的最佳方法是什么?

回答

5

使用多行TextBox,就像这样:

myTextBox.Multiline = true; 

虽然滚动至底部,像这样更新:

myTextBox.Text += "My message" + System.Environment.NewLine; 
myTextBox.SelectionStart = myTextBox.Text.Length; 
myTextBox.ScrollToCaret(); 
3

好吧,多行TextBox或RichTextBox将会很好地完成这项工作。使用它的AppendText()方法。

我不能从你的问题中判断这个信息的价值。一般来说,避免假设用户对实现细节感兴趣,特别是在有很多实现细节时。 ProgressBar几乎总是最适合的进度指标。也许一个标签或一个StatusStrip来提供一些上下文。

请注意Control.BeginInvoke()更新控件的成本。