2012-05-16 45 views
0

我在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将在此方面不

+0

你可以展示一些你到目前为止的代码吗? – skaz

+0

更多代码,请。尝试发布整个表单类(跳过不相关的部分)。 –

+0

你应该显示与编辑按钮相关的代码 –

回答

2

我猜想Form1是Form2的父级,因此当您创建Form2时,请使用如下代码

Form2 f = new Form2(this); 

然后在窗体2类,你应该有这样

Form1 _parentForm = null; 

,并在窗体2的构造函数的声明

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

如果这是真的,那么你可以调用

_parentForm.SelectedComboValue ; 

获得所需结果

0

在C# 表2: 中一在这里创建

public string strDecVal{ 
set{ combobox1.text = value; } 
} 

组合框: 比如你有一个文本框和一个按钮,将进入FORM2

把这些代码对你的按钮

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

在VB中它是更自动化:

Form1中: 文本框,在单击在Form1 按钮按钮 把代码:

Form2.Show() 
在窗体2

: 负载把这个代码:

ComboBox1.Text = Form1.TextBox1.Text 
0

你可以用组合框的对象组合框类如下:

internal static ComboBox CB=comboBox1; 

然后,你可以调用它的其他形式,并访问所有的方法,并在ComboBox类的贡品。如果您想将项目添加到该CB,则可以像在父窗体中一样轻松地完成。不管它是内部的还是静态的,都只是为了举例。