通知清单,哪种控制是最佳选择?

时间:2010-02-03 06:26:55

标签: c# winforms user-interface controls

我想使用控件来通知用户发生了什么以及做了什么。它就像一个多行文本框,每行包含一个通知,例如:

Connecting to database...done
Current datetime: 
Inserting data into database 10/1000...done
Inserting data into database 20/1000...done
...
Inserted data into database
Current datetime:

我尝试过文本框,但是操作很多行似乎太复杂了。

有更好的控制来做到这一点吗?如果文本框是最佳选择,那么我该怎么做呢?

提前致谢!

2 个答案:

答案 0 :(得分:2)

我会使用列表框。将其设置为SelectionMode.None。添加到项目集合。如果有足够的线条滚动屏幕,则需要手动将滚动条调整到底部。通过将列表框TopIndex设置为行数-1来执行此操作。

答案 1 :(得分:2)

我见过人们使用ListBoxes和TextBoxes。我通常使用RichTextBoxes,因为我可以很容易地应用一些简单的样式和着色,但它可能有点过分。

我在一个“正在玩”的项目中找到了这个方法:

private void writeToLog(String text, SolidColorBrush color)
{
    TextRange tr = new TextRange(logTextBox.Document.ContentEnd, logTextBox.Document.ContentEnd);
    tr.Text = text;
    tr.ApplyPropertyValue(TextElement.ForegroundProperty, color);
}