2012-11-03 34 views
0

在Form1上我有兩個文本框,我想用這些文本編輯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); 
    } 

,我想我應該創建窗口2的方法?對不起,我的無知

+0

我已找到它! :) frm2.Location = new Point(int.Parse(textBox2.Text),int.Parse(textBox3.Text)); – Burucsb

回答

1

每個窗體對象都有屬性來定義它在屏幕上的位置和尺寸。

參照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(獲取或設置控制的高度。)

假設有兩種形式的對象命名Form 1和Form和你想在那些在Form1上的文本框輸入查詢值,你只需要做類似的東西來修改窗體2的屬性:

// 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); 

要知道,你想整數值(數字)傳遞給FO的屬性rm2但string TextBox.Text屬性是字符串類型。您可能想要將字符串轉換爲int,這是執行此操作的默認方式 - 如上所示使用

int int.Parse(string s) 
+0

感謝您的回覆。我嘗試做,但它不想要的工作,林初學:) 因此,在Form1中我犯了這樣的一個按鈕: 私人無效button8_Click(對象發件人,EventArgs的){ FRM2 =新Form2的(); frm2.Top = int.Parse(textBox2.Text); frm2.Left = int.Parse(textBox3.Text); } 我在做什麼錯?也許我應該更好地在Form2中做一個方法? – Burucsb

+0

將源代碼的所有相關部分添加到上面的原始帖子中(使用編輯功能)... –

+0

我找到了! frm2.Location = new Point(int.Parse(textBox2.Text),int.Parse(textBox3.Text)); 但非常感謝你! – Burucsb

相關問題