[英]calling method on one form from another form, fill combobox on Form1 if a button on Form2 is clicked
[英]Calling a combobox from another form
我在form1上有一個組合框,我需要在form2上調用以獲得用戶選擇。 有人可以給我一個如何做到這一點的例子嗎?
編輯:忘了解釋我想做什么。 我有一個只讀文本框....用戶點擊編輯來編輯文本,但我希望他們想要/選擇編輯的文本在調用form2時彈出。
我在form1上有這個代碼
public string SelectedComboValue
{
get { return comboBox1.SelectedItem.ToString(); }
}
這個代碼在表2中
EDIT: Added Form1 form1 = null; BUT its still not returning the SelectedComboValue
public Form2(Form1 parentForm1) : this()
{
form1 = parentForm1;
}
但它給了我一個錯誤,說form1不在這種情況下
我認為Form1是Form2的父級,因此當您創建Form2時,您使用這樣的代碼
Form2 f = new Form2(this);
然后在Form2類中你應該有這樣的聲明
Form1 _parentForm = null;
並在Form2構造函數中
public Form2(Form1 parentForm1)
{
_parentForm = parentForm1;
}
如果這是真的那么你可以打電話
_parentForm.SelectedComboValue ;
得到所需的結果
在c#表2中:在這里創建一個組合框
public string strDecVal{
set{ combobox1.text = value; }
}
在表單1中:例如,您有一個文本框和一個將轉到form2的按鈕
把這些代碼放在你的按鈕上
Form2 frmShow = new Form2(); //Calling the form2
frmShow.strDecVal = textbox1.text;
frmShow.ShowDialog;
在VB中,它更加自動化:
Form1:單擊form1中的按鈕的文本框和按鈕放置代碼:
Form2.Show()
在Form2中:在Load上放入此代碼:
ComboBox1.Text = Form1.TextBox1.Text
您可以將組合框包裝為ComboBox類的對象,如下所示:
internal static ComboBox CB=comboBox1;
然后,您可以以其他形式調用它,並訪問ComboBox類的所有方法和屬性。 如果要向該CB添加項目,可以像在父表單中一樣輕松完成。 它無論是內部的還是靜態的,都只是為了這個例子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.