簡體   English   中英

從另一種形式調用組合框

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM