从另一种形式调用组合框

时间:2012-05-16 13:58:25

标签: c# combobox

我在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不在此上下文中

4 个答案:

答案 0 :(得分:2)

我认为Form1是Form2的父级,所以当你创建Form2时,你使用这样的代码

Form2 f = new Form2(this);

然后在Form2类中你应该有这样的声明

Form1 _parentForm = null;

并在Form2构造函数中

public Form2(Form1 parentForm1) 
{          
    _parentForm = parentForm1;     
} 

如果是这样,那么你可以致电

_parentForm.SelectedComboValue ;

获得所需的结果

答案 1 :(得分:0)

c#中的

表格2: 在这里创建一个组合框

public string strDecVal{
 set{ combobox1.text = value; }
}
表格1中的

: 例如,你有一个文本框和一个将转到form2的按钮

将这些代码放在按钮上

Form2 frmShow = new Form2(); //Calling the form2
frmShow.strDecVal = textbox1.text;
frmShow.ShowDialog;

答案 2 :(得分:0)

在VB中,它更加自动化:

Form1中: 文本框和按钮 单击form1中的按钮 把代码:

Form2.Show()
Form2中的

: 在Load上放了这段代码:

ComboBox1.Text = Form1.TextBox1.Text

答案 3 :(得分:0)

您可以将组合框包装为ComboBox类的对象,如下所示:

internal static ComboBox CB=comboBox1;

然后您可以以其他形式调用它,并访问ComboBox类的所有方法和属性。如果要向该CB添加项目,可以像在父表单中一样轻松完成。无论是内部的还是静态的,都只是为了这个例子。