在多行文本框中滚动除顶行以外的所有内容

时间:2012-05-07 18:34:11

标签: c# winforms textbox multiline

我在WinForms应用程序中有一个多行文本框。我想做的是总是看到顶线,即使它滚动。是否有人知道这样做的技巧?

2 个答案:

答案 0 :(得分:2)

假装。使用两个TextBox对象,绘制自己的边框。你需要自己处理下一行的包装。

您还可以将前X个字符复制到标签,这样当TextBox滚动时,它们可以看到标签中的第一行。

除非它是一个必不可少的功能,否则我会尝试削减它。

答案 1 :(得分:0)

简单的答案;取决于您要使用的外观是使用现有的Windows控件来获得您想要的效果。

您可以在文本框上方使用标签控件,并允许文本框滚动。 您可以使用两个文本框 - 顶部将其.multiline属性设置为false,而底部允许滚动。

您可以将此全部封装到用户控件中以实现可重用性。

除此之外,我认为您正在寻找一个相当大的项目来实现您的控制(或者至少覆盖文本框的onPaint()事件)并具有所需的行为。