![](/img/trans.png)
[英]calling method on one form from another form, fill combobox on Form1 if a button on Form2 is clicked
[英]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.