2012-07-18 54 views
0

IM試圖讓任何類型從Form2的文字,從1 我用C#從無形到Form2的窗口從1跳轉

button_click() 
{ 
form1 text1 = new form1(); 
text1.textbox.text = "lol"; 
} 

,但它不會更新1跳轉它。它只是把空 後來我發現這個類

Set value into a property in Class1 from Form1 then get value of that property in Class1 to Form2 using C# Windows Form

它得到什麼,我想問題是,我想它來更新文本框儘快,而不是按下兩種形式按鈕使其更新 如果我能得到它從form2更新這將是awsome。

我甚至試過

public form1(string text) 
{ 
    textBox.Text = text; 
} 

窗口2

form1 textbox = new form1(textbox.text); 

http://bildr.no/view/1232007

+0

添加'text1.Show()'你的第一個片段看到的結果。理解類型和對象之間的區別是.NET編程的核心。找一本書或學校來幫助自己。 – 2012-07-19 00:00:45

回答

2

您可以使用Application.OpenForms Property來獲取參考其它形式:

Form1 form1 = Application.OpenForms["Form1"] as Form1; 
if(form1 != null) 
{ 
    form1.SetTextBoxText("lol"); 
} 

您需要提供Form1的公共方法SetTextBoxText改變文本框中的文本:

public void SetTextBoxText(String text) 
{ 
    textBox.Text = text; 
} 
+0

它沒有工作,我做了,因爲你說它只是不會找到它。 '錯誤'System.Windows.Forms.Form'不包含'SetTextBoxText'的定義,也沒有找到接受'System.Windows.Forms.Form'類型的第一個參數的擴展方法'SetTextBoxText'(是你錯過了使用指令或程序集引用?) ' – coldasice 2012-07-19 00:58:32

+0

@coldasice:你必須以這種方式將窗體轉換爲Form1:'((Form1)form1).SetTextBoxText(「blah」);'編輯我的答案因此。 – 2012-07-19 06:45:57

相關問題