在Form1上我有2个文本框,我想用那些编辑Form2的位置。 (textbox1 = X,textbox2 = Y)
非常感谢!
以下是我所做的代码:
private void button8_Click(object sender, EventArgs e)
{
frm2 = new Form2();
frm2.Top = int.Parse(textBox2.Text);
frm2.Left = int.Parse(textBox3.Text);
}
它不工作,我想我应该在form2中创建一个方法?对不起我的无知
答案 0 :(得分:1)
每个Form-Object都具有在屏幕上定义其位置和尺寸的属性。
参考MSDN文档http://msdn.microsoft.com/en-us/library/system.windows.forms.form.aspx,这些属性是
int Form.Top
(获取或设置控件上边缘与其容器客户区上边缘之间的距离(以像素为单位)。)
int Form.Left
(获取或设置控件左边缘与其容器客户区左边缘之间的距离(以像素为单位)。)
int Form.Width
(获取或设置控件的宽度。)
int Form.Height
(获取或设置控件的高度。)
假设你有两个名为form1和form2的表单对象,并且你想通过在form1上的textfields中输入值来修改form2的属性,你只需要做类似的事情:
// inside form1
// assuming you have textfields for each position/dimension property
form2.Top = int.Parse(textfield_Top.Text);
form2.Left = int.Parse(textfield_Left.Text);
form2.Width = int.Parse(textfield_Width.Text);
form2.Height = int.Parse(textfield_Height.Text);
请注意,您希望将整数值(数字)传递给form2的属性,但string TextBox.Text
属性的类型为string。您可能希望将字符串中的强制转换应用于int,这是执行此操作的默认方式 - 如上所示使用
int int.Parse(string s)