我在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 :(得分:2)
我认为Form1是Form2的父级,所以当你创建Form2时,你使用这样的代码
Form2 f = new Form2(this);
然后在Form2类中你应该有这样的声明
Form1 _parentForm = null;
并在Form2构造函数中
public Form2(Form1 parentForm1)
{
_parentForm = parentForm1;
}
如果是这样,那么你可以致电
_parentForm.SelectedComboValue ;
获得所需的结果
答案 1 :(得分:0)
表格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添加项目,可以像在父表单中一样轻松完成。无论是内部的还是静态的,都只是为了这个例子。