当另一个下拉列表中的选定项目发生更改时,需要更改下拉列表中的所选项目

时间:2011-01-21 19:50:09

标签: c# winforms drop-down-menu

我有一个带有两个组合框的Windows窗体应用程序(Dropdownlist样式)。第一个组合框从AppTable对象的List中获取数据,如下所示:

foreach (AppTable table in appTableList)
            cbxSelectName.Items.Add(table.App);

我已设置触发器,以便更改此下拉列表中的所选项目:

this.cbxSelectName.SelectedIndexChanged +=new EventHandler(cbxSelectName_SelectedIndexChanged);

最后,这里是触发器调用方法的定义。请注意,tbxNewWikiWord文本框中的值会随着所选项目的更改而更改。但是,第二个下拉列表(cbxUpdateAppType)中不会发生相同的情况:

private void cbxSelectName_SelectedIndexChanged(object sender, EventArgs e)
    {
        foreach (AppTable table in appTableList)
        {
            if (table.App == cbxSelectName.SelectedItem.ToString())
            {
                this.tbxNewWikiWord.Text = table.WikiWord;
                this.cbxUpdateAppType.SelectedItem = table.Type;
                break;
            }
        }

    }

这就是AppTable的外观:

class AppTable
{
    public string App { get; set; }
    public string Type { get; set; }
    public string WikiWord { get; set; }

}

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

从AppTable对象中向cbxUpdateAppType添加值修复了它。我不确定为什么因为在任何一种情况下,我都在添加字符串。

我只需要检查重复项,这样我就不会在我的下拉框中找到具有相同值的多个实例。

foreach (AppTable table in appTableList)
        {
            if (!cbxUpdateAppType.Items.Contains(table.Type))
                cbxUpdateAppType.Items.Add(table.Type);
        }