【发布时间】:2011-01-21 19:50:08
【问题描述】:
我有一个带有两个组合框(下拉列表样式)的 Windows 窗体应用程序。第一个组合框从 AppTable 对象列表中获取数据,如下所示:
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; }
}
我错过了什么吗?
【问题讨论】:
-
您是否使用
table.Type中出现的内容填充cbxUpdateAppType?请贴出填写cbxUpdateAppType的代码。 -
table.Type 可以包含以下三个值之一:服务、任务或应用程序。但是,我用这三个值手动填充 cbxUpdateAppType,因为如果我在循环中从 table.Type 填充它,它会多次获得相同的值。
标签: c# winforms drop-down-menu