【发布时间】:2014-02-28 04:19:16
【问题描述】:
我的应用程序中有一个 UserControl,并在其上安装了一个带有属性 Docking.Fill
的 TextBox我有一种情况,我会动态增加窗口/窗体的大小,在这种情况下,我的所有控件都会根据新的比例重新调整大小,但我的文本框的高度不会改变。
解决方案 1: 我必须设置字体大小来增加高度,但问题是,它会重新调整我的应用程序中使用的所有控件的大小,控件中的一些文本也会重叠。
我想要其他方式,在不影响字体大小的情况下,我可以在不使用 Multiline = True 的情况下增加我的 TextBox 的高度。
如果有人帮忙就好了,
【问题讨论】:
-
大小由 UserControl 决定。通过您在表格中所做的任何事情,您没有记录。将单行的 TextBox.Dock 属性设置为 Fill 是完全错误的,TextBox 失去了调整自身大小以适应字体的能力。当您从 UserControl 而不是 TextBox 派生类时,这几乎肯定会出错。
-
一个用户控件,一个文本框和标签,当文本框长度= 0时,阴影标签,对。我有一个函数可以找到用户控件或表单中的所有控件并将它们添加到控件列表中,然后我用给定的纵横比重新调整每个控件的大小,以便在 Form/UserControl 的 Load_event 中增加,对。问题是,虽然我的 TextBox 的对接已被填充,但它并没有通过操纵其 Height*Factor 来重新调整大小,这就是我问这个问题的原因,现在我只使用 TextBoxControl.AutoResize = false 然后使用 Size 属性来完成。这就是我想做的事
标签: c# winforms fonts textbox controls