2011-10-15 42 views
1

我想在獲取文本屬性form1控件的文本屬性的新窗體上單擊事件。從form1中的控件獲取值到一個新的窗體C#

我做了一個公共方法,返回我需要的值,但返回值始終爲空。我到處尋找這個。

Form1中:

public List<string> returner() 
{ 
    List<string> thevalues = new List<string>(); 

    thevalues.Add(textbox1.Text); 
    thevalues.Add(textbox2.Text); 

    return thevalues; 
} 

窗體2:

Form1 x = new Form1(); 

List<string> values = x.returner(); 
label1.Text = values[0]; 
label2.Text = values[1]; 

我的問題是,有沒有值返回,因爲即時通訊宣佈的Form1一個新的實例,而不是使用它具有價值的一個(我猜)。

+0

是form2是form1的子? – Sandy

回答

1

是的,這將解釋發生了什麼問題。基本上你需要告訴Form2關於Form1的相關實例。你究竟如何做到這一點將取決於什麼構成了一切。例如,您可能有:

Form1 form1 = new Form1(); 
Form2 form2 = new Form2(); 
form2.Form1 = form1; 

或者您可以將構造函數中的引用傳遞給Form2

如果這些是真正的表單的名字,順便說一句,我強烈勸你給他們命名爲更有意義 - 這指示表的目的。同樣,returner不僅違反了.NET命名約定,它也不能解釋它在做什麼。

0

你已經搞亂了你的代碼..如果你想得到一個文本的價值就用這個。 string textValue = form1.textbox1.Text 或..因爲你沒有發佈完整的代碼在這裏..試試這個,而不是創建對象form1.returner();

相關問題