如何以另一种形式选择组合框中的项目?

时间:2015-02-14 07:39:10

标签: c# sql linq

我有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();

2 个答案:

答案 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();
 }

<强>更新

您可以通过多种方法在表单之间传递数据

  1. 构造方法
  2. 对象方法
  3. 代表方法
  4. 属性方法
  5. 方法方法
  6. 参考:

    <强> CodeProject

    <强> MSDN