我在表单上有一个标签和一个文本框。标签的内容是动态的,可能会将其边界溢出到其下方的文本框上。我想适当地动态增加表单的高度和文本框的顶部,以便标签内容将文本框“推”到表单上。通过将标签设置为 Autosize 并给它一个最大宽度,我想让它水平增长到表单 bu 的右边缘,然后垂直(向下)增长到它需要的程度。
我尝试这样做的代码是:
int bottomOfLabel = label1.Location.X + label1.Size.Height;
int topOfTextBox = textBox1.Location.Y;
int currentHeightOfForm = this.Size.Height;
int currentTopOfTextBox = texBox1.Location.Y;
if (bottomOfLabel >= topOfTextBox)
{
int heightToAdd = bottomOfLabel - topOfTextBox;
this.Size.Height = currentHeightOfForm + heightToAdd;
textbox.Location.Y = currentTopOfTextBox + heightToAdd;
}
...但我收到这些错误:
无法修改“System.Windows.Forms.Form.Size”的返回值,因为它不是变量
-和:
无法修改“System.Windows.Forms.Control.Location”的返回值,因为它不是变量
那么我怎样才能做到这一点呢?