如何根据C#中的用户选择从一个表单中更改另一个表单中的索引

时间:2013-12-03 15:27:26

标签: c#-4.0

在Form1中,我将comboBox.SelectedIndex设置为Index 0(comboBox.SelectedIndex = 0;)。这是它的代码。

public void FORM1_Load(object sender,EventArgs e)         {

        comboBox.Items.Insert(0, "Customer Name");
        comboBox.Items.Insert(1, "Customer ID");
        comboBox.Items.Insert(2, "Phone Number");
        comboBox.Items.Insert(3, "Email");

        comboBox.SelectedIndex = 0;

    }

然后我想根据用户从MDI Form的菜单栏中选择更改上述索引。

例如: - 如果用户选择“按ID搜索客户”,则从MDI表单的菜单栏中,上面的值应更改为1.

我使用了以下方法。但它没有成功

    private void byIDToolStripMenuItem1_Click(object sender, EventArgs e)
    {
        frmSearchCustomer frm = new frmSearchCustomer();
        frm.comboBox.SelectedIndex = 1;
        frm.ShowDialog();


    } 

请给我一个正确的编程代码以满足我的要求。 谢谢

1 个答案:

答案 0 :(得分:1)

在包含组合框的表单上,将代码更改为

public int UserSelectedIndex { get; set;}

public void FORM1_Load(object sender, EventArgs e) {

        comboBox.Items.Insert(0, "Customer Name");
        comboBox.Items.Insert(1, "Customer ID");
        comboBox.Items.Insert(2, "Phone Number");
        comboBox.Items.Insert(3, "Email");

        comboBox.SelectedIndex = UserSelectedIndex;

    }

从MDI表格中,您现在可以设置所选索引

private void byIDToolStripMenuItem1_Click(object sender, EventArgs e)
    {
        frmSearchCustomer frm = new frmSearchCustomer();
        frm.UserSelectedIndex = 1;
        frm.ShowDialog();


    }