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 不在这种情况下

4

4 回答 4

2

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

Form2 f = new Form2(this);

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

Form1 _parentForm = null;

并在 Form2 构造函数中

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

如果这是真的,那么你可以打电话

_parentForm.SelectedComboValue ;

得到所需的结果

于 2012-05-16T14:14:19.027 回答
0

在c#表格2中:在此处创建一个组合框

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

在表格 1 中:例如,您有一个文本框和一个将转到表格 2 的按钮

把这些代码放在你的按钮上

Form2 frmShow = new Form2(); //Calling the form2
frmShow.strDecVal = textbox1.text;
frmShow.ShowDialog;
于 2012-05-16T14:16:50.393 回答
0

在 VB 中,它更加自动化:

Form1: textbox and button 在点击form1中的按钮放代码:

Form2.Show()

在 Form2: 上加载这个代码:

ComboBox1.Text = Form1.TextBox1.Text
于 2012-05-16T14:22:52.713 回答
0

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

internal static ComboBox CB=comboBox1;

然后你可以以其他形式调用它,并访问 ComboBox 类的所有方法和属性。如果您想将项目添加到该 CB,您可以像在父表单中一样轻松地进行操作。不管是内部的还是静态的,都只是为了举例。

于 2013-05-22T13:23:42.957 回答