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

Mic*_*sny 5 c# textbox winforms

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

Vik*_*ram 3

我认为你不能开箱即用地做到这一点。但是,我可以想到两种方法可以帮助您实现目标

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

你提到你的TextBox

可以包含可变数量的行

但你也提到了

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

所以不确定到底是什么情况。如果您需要动态调整 的高度TextBox,请查看这篇文章Autoresize textbox control Vertical