我可以在多行文本框中显示不适合整体的行的上半部分吗?
本文关键字:上半部 显示 文本 我可以 不适合 | 更新日期: 2023-09-27 18:32:37
在我的WinForms应用程序中,我有固定大小的多行文本框,可以包含可变数量的行。我希望文本框适合两行加税,以便在存在第三行时仅显示第三行的上半部分。不幸的是,第三行根本没有显示,只有空白区域 - 您需要向下滚动才能看到它。这不好,因为这个想法是向用户指示可能需要向下滚动。是否可以强制文本框显示第三行的上半部分?
我认为你不能开箱即用。但是,我能想到两种方法来实现您的目标
- 你真的需要一个
TextBox
控制吗?Label
可以为您工作吗?如果是,则Label
没有您上面描述的问题。如果没有,那么您可以使用一个漂亮的技巧来始终在Label
中显示您的内容,并在用户开始键入时将其切换到TextBox
。 - 另一种方法是禁用文本框中的滚动。将
TextBox
的高度调整为 3 条清晰可见的线条。现在将此TextBox
放入Panel
中。确保Panel
使用Panel.AutoScroll = true
(如果需要更多控制,可以使用单独的VerticalScrollbar
或HorizontalScrollbar
或两者(。现在调整Panel.Height
,使只有 2 整行可见,第 3 行部分可见。
你提到你的TextBox
可以包含可变数量的行
但你也提到
我希望文本框适合两行加税,以便在存在第三行时仅显示第三行的上半部分
所以不确定是什么情况。如果您需要动态调整TextBox
的高度,请查看这篇文章以垂直自动调整文本框控件的大小
也许您可以使用 RichTextBox
类,默认情况下它显示部分行。 它派生自与TextBox
(TextBoxBase
(相同的基类,所以它应该是一个直接的替代品。