从另一个窗体调用组合框
本文关键字:组合 调用 窗体 另一个 | 更新日期: 2023-09-27 18:34:16
我在form1上有一个组合框,我需要在form2上调用它来获取用户选择。有人可以给我一个如何做到这一点的例子吗?
编辑:忘了解释我想做什么。我有一个只读文本框。用户单击"编辑"以编辑文本,但我希望在调用 form2 时立即弹出他们想要/选择编辑的文本。
我在表单 1 上有此代码
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 中,它的自动化程度要高得多:
表格1:文本框和按钮在单击窗体 1 中的按钮时输入代码:
Form2.Show()
在窗体 2 中:在加载上放置此代码:
ComboBox1.Text = Form1.TextBox1.Text
你可以像这样包装组合框 ComboBox 类的一个对象:
internal static ComboBox CB=comboBox1;
然后,可以在其他窗体中调用它,并访问 ComboBox 类的所有方法和属性。如果要将项目添加到该CB,则可以像在父窗体中一样轻松完成。无论是内部的还是静态的,都只是为了示例。