我的应用程序中有一个UserControl,并且在其上安装了TextBox,其属性为 Docking.Fill
我有一种动态增长窗口/表单大小的情况,在这种情况下,我的所有控件都按照新比例重新调整大小,但我的文本框的高度不会改变。
解决方案1: 我必须设置字体大小以增加高度,但问题是,它重新调整我的应用程序中使用的所有控件的大小,控件中的一些文本也重叠。
我想要其他方式,在不影响字体大小的情况下,我可以在不使用 Multiline = True 的情况下在Height中增长TextBox。
如果有任何身体帮助会很棒,
答案 0 :(得分:2)
您可以在设计器文件中执行此操作
this.textBox1.AutoSize = false;
this.textBox1.Size = new System.Drawing.Size(100, 20);
MSDN> TextBoxBase.AutoSize Property
答案 1 :(得分:2)
自定义函数,使用宽高比重新调整字体大小并增加TextBox的高度。
public void IncerseHeightTextBox(TextBox tb, float Aspect_Ratio_Height)
{
tb.AutoSize = false;
tb.Width = (int)(tb.Width * (1.402+1.171)/2); //Width+height Ratio /2
tb.Font = new Font(tb.Font.FontFamily, tb.Font.Size * Aspect_Ratio_Height);
tb.Size = new Size(tb.Width, (int)(tb.Height * Aspect_Ratio_Height));
}
和函数调用:
IncerseHeightTextBox(tb2, (float)1.171);