在我的WinForms应用程序中,我有固定大小的多行文本框,可以包含可变数量的行.我希望文本框适合两行加上税,这样当第三行存在时,只显示第三行的上半部分.不幸的是,第三行根本没有显示,而只是空白空间 – 你需要向下滚动才能看到它.这并不好,因为这个想法是向用户表明可能需要向下滚动.是否可以强制文本框显示第三行的上半部分?
解决方法:
我不认为你可以开箱即用.但是,我可以通过两种方式来实现您的目标
>你真的需要一个TextBox控件.标签可以为您工作吗?如果是,那么Label没有您在上面描述的问题.如果没有,那么你可以使用一个漂亮的技巧来始终在Label中显示你的内容,并在用户开始输入时将其切换到TextBox.
>另一种方法是禁用TextBox中的滚动.将TextBox的高度调整为3条清晰可见的线条.现在将此TextBox拖放到Panel中.确保Panel使用Panel.AutoScroll = true(如果需要更多控制,可以使用单独的VerticalScrollbar或HorizontalScrollbar或两者).
现在调整Panel.Height,以便只能看到2个完整的行,第3行是部分可见的.
你提到过你的TextBox
can contain a variable number of lines
但你也提到过
I want the textboxes to fit two lines plus tax in them so that only the upper part of the third line is displayed when a third line is present
所以不确定是什么情况.如果需要动态调整TextBox的高度,请查看此帖子到Autoresize textbox control vertically