我有form1和form2。在form1中,我有一个绑定到sql的组合框。 我想在form2中按一个按钮,显示form1并在组合框中选择一个项目。
![加载我的form1。 cbGroup是combox的名称,frmAdd是form1] [1]
的名称 private void frmAdd_Load(object sender, EventArgs e)
{
DataClasses1DataContext db=new DataClasses1DataContext();
var q=from c in db.Groups
select c.GroupName;
cbGroup.DataSource = q;
}
![这个代码在form2上的按钮内] [2]
frmAdd ff = new frmAdd();
ff.cbGroup.SelectedIndex = f.cbGroup.Items.IndexOf("Summer");
ff.ShowDialog();
答案 0 :(得分:0)
有很多方法可以做到这一点 1 - 使用ViewModel文件 2 - 更简单的方法是将方法添加到承载组合框的表单,如下所示:
public void ShowWithCustomComboBoxItem(int itemNumber)
{
cbGroup.SelectedIndex=itemNumber;
this.ShowDialog();
}
答案 1 :(得分:0)
如果我是对的,你想打开frmAdd
并传递一些值组合框项目,并且想要在frmAdd
打开时选择项目
private string _yourcomboboxitem=string.Empty; // Here i make a private field to store your data
public string Yourcomboboxitem // make public property
{
get{return _comboboxitem;}
set{ comboboxitem = value;}
}
private void frmAdd_Load(object sender, EventArgs e)
{
DataClasses1DataContext db=new DataClasses1DataContext();
var q=from c in db.Groups
select c.GroupName;
cbGroup.DataSource = q;
cbGroup.SelectedItem = this.Yourcomboboxitem; // when form load your comboxbox will set item which you assign value to your property
}
点击form2
private void button2_Click(object sender, EventArgs e)
{
frmAdd ff = new frmAdd();
ff.Yourcomboboxitem = "Summer";// here i am Assigning value to property which i created in frmAdd
ff.ShowDialog();
}
<强>更新强>
您可以通过多种方法在表单之间传递数据
参考:
<强> CodeProject 强>
<强> MSDN 强>