我有一個C#windows應用程序有兩個窗體Form1,它是主窗體和Form2。 Form1上有一個組合框,Form2有一個文本框。獲取組合框選定值Form1到另一個Form2
我想將Form1.ComboBox1中選定的值放入Form2.TextBox1中。
我想這一點:
Form1 Form1Object = new Form1();
string fff = Form1Object.ComboBox1.SelectedItem.ToString(); //not working
TextBox1.Text = fff;
問題是,當我運行此Form 1被重新初始化,我不希望出現這種情況。 (我有一個閃屏是侏儒在應用程序啓動時,所以,當我跑我的代碼的啓動畫面又重新開始。
有沒有一種方法,無需重新啓動的第一個表單閱讀ComboBox1價值? 如果我直接嘗試它不工作,它認爲在Form1作爲CALSS,而不是對象
Form1.ComboBox1.SelectedItem.ToString(); //does not work
我也試圖打開第二形態時的價值添加到文本框:
Form2 form2 = new Form2();
form2.TextBox1.Text = ComboBox1.SelectedValue.ToString();
form2.Show();
這給了我以下錯誤:「對象引用不設置到對象的瞬間「
編輯: 它可以使用此代碼:
Form2 form2 = new Form2();
form2.TextBox1.Text = ComboBox1.Text;
form2.Show();
現在我的問題仍然存在:如果我在窗體2我還可以得到form1的價值?如果沒有,那沒關係。我會將其作爲解決方案發布。
只要your're「在」你的Form1-class中,你可以對當前實例使用this引用。因此你可以重用同一個實例。 – HimBromBeere 2014-11-24 15:36:48
您可以使用事件。 [這裏是一個例子](http://stackoverflow.com/a/6382869/754438)。但在你的情況使用組合框選擇項目改變事件,而不是textBox1_TextChanged在例子中。 – Reniuz 2014-11-24 15:39:53
「對象引用未設置爲對象的瞬間。」意味着ComboBox中的SelectedValue爲null。在引發此異常時,調試並檢查組合框的SelectedValue,SelectedItem和SelectedIndex屬性中的內容。 – Arie 2014-11-24 15:45:16