我可以在多行文本框中显示不适合整体的行的上半部分吗?

本文关键字:上半部 显示 文本 我可以 不适合 | 更新日期: 2023-09-27 18:32:37

在我的WinForms应用程序中,我有固定大小的多行文本框,可以包含可变数量的行。我希望文本框适合两行加税,以便在存在第三行时仅显示第三行的上半部分。不幸的是,第三行根本没有显示,只有空白区域 - 您需要向下滚动才能看到它。这不好,因为这个想法是向用户指示可能需要向下滚动。是否可以强制文本框显示第三行的上半部分?

我可以在多行文本框中显示不适合整体的行的上半部分吗?

我认为你不能开箱即用。但是,我能想到两种方法来实现您的目标

  1. 你真的需要一个TextBox控制吗?Label可以为您工作吗?如果是,则Label没有您上面描述的问题。如果没有,那么您可以使用一个漂亮的技巧来始终在Label中显示您的内容,并在用户开始键入时将其切换到TextBox
  2. 另一种方法是禁用文本框中的滚动。将TextBox的高度调整为 3 条清晰可见的线条。现在将此TextBox放入Panel中。确保Panel使用Panel.AutoScroll = true(如果需要更多控制,可以使用单独的VerticalScrollbarHorizontalScrollbar或两者(。现在调整Panel.Height,使只有 2 整行可见,第 3 行部分可见。

你提到你的TextBox

可以包含可变数量的行

但你也提到

我希望文本框适合两行加税,以便在存在第三行时仅显示第三行的上半部分

所以不确定是什么情况。如果您需要动态调整TextBox的高度,请查看这篇文章以垂直自动调整文本框控件的大小

也许您可以使用 RichTextBox 类,默认情况下它显示部分行。 它派生自与TextBox(TextBoxBase(相同的基类,所以它应该是一个直接的替代品。