Gua*_*apo 46 c# textbox .net-3.5 winforms
如何更改文本框的高度?
以下两项都不奏效:
this.TextBox1.Size = new System.Drawing.Size(173, 100);
Run Code Online (Sandbox Code Playgroud)
要么
this.TextBox1.Size.Height = 100;
Run Code Online (Sandbox Code Playgroud)
我希望能够更改单行文本框高度以适应其上的字体大小,如果可能的话不使用多行.
Tom*_*ski 62
进入yourForm.Designer.cs向下滚动到您的文本框.下面的示例适用于textBox2对象.加上这个
this.textBox2.AutoSize = false;
Run Code Online (Sandbox Code Playgroud)
并将其大小设置为您想要的任何大小
this.textBox2.Size = new System.Drawing.Size(142, 27);
Run Code Online (Sandbox Code Playgroud)
像魅力一样工作 - 没有将多线设置为true,但只有在你更改设计器本身的任何选项之后(你将不得不再设置这两行).我认为,这种方法仍然比多线化更好.我在我的应用程序中有一个昵称的文本框,并且有多行,人们有时会意外地写两次名字,比如Thomas \nThomas(你在实际的文本框行中只看到一个).使用这个解决方案,文本只是在每个char之后隐藏到左边的宽度,因此对于用户来说,输入更安全.
MrR*_*Roy 58
有两种方法可以做到这一点 :
我相信这是唯一的方法; 较大的字体大小应自动适合文本框
Oli*_*bes 25
您可以设置文本框的MinimumSize和/或MaximumSize属性.这不会立即影响大小,但是当您在窗体设计器中调整文本框大小时,将自动调整大小以满足最小/最大大小约束.即使Multiline设置为false并且不依赖于字体大小,这也可以工作.
刚刚发现了一个很棒的小技巧,可以为文本框设置自定义高度。
在设计器视图中,将设置为所需的值minimumSize,然后完全删除size设置。这将导致设计者使用新的最小设置进行更新!