0

在 Form1 我有 2 个文本框,我想用它们编辑 Form2 的位置。(文本框 1 = X,文本框 2 = 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 中创建一个方法?对不起我的无知

4

1 回答 1

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 上的文本字段中输入值来修改 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属性是字符串类型。您可能希望将强制转换从字符串应用到 int,这是默认的执行方式 - 如上所示,使用

int int.Parse(string s)
于 2012-11-03T12:44:54.267 回答