如何让TextBox重新考虑它的首选高度?

时间:2011-12-12 21:15:16

标签: winforms

我正在运行时构建TextBox

edit = new TextBox();
this.Controls.Add(edit);
edit.BorderStyle = System.Windows.Forms.BorderStyle.None;

稍后我会设置编辑框的位置(LocationLeft / Top):

edit.Location = new Point(newX, newY);

问题是之前我调整文本框的位置Height 20 px 。 e.g:

edit.Height     20

但是只要我更改Location,文本框的高度就会变为 13 px ,例如:

edit.Height     13

问题当然是我的newY值基于文本框的高度。一旦我调整文本框的位置,它就会收缩 - 使我的计算值无效。

我想要的是强迫TextBox重新考虑它的高度的方法:

之前

newX = (int)Math.Round(2*scaleFactor.Width);
newY = (containerHeight - edit.Height) / 2;

edit.RethinkAutoSize();
newX = (int)Math.Round(2*scaleFactor.Width);
newY = (containerHeight - edit.Height) / 2;

我怎么能告诉文本框更新它的内部意义呢?它是“适当的”高度?

0 个答案:

没有答案