【发布时间】:2015-01-25 04:37:41
【问题描述】:
我在 C# 中使用了一个简单的 ComboBox。我输入了 3 个项目:“apple”、“banana”和“orange”。这是我的工作:
- 单击组合框以查看下拉菜单。我看到所有 3 个项目都很好。然后我通过鼠标左键单击选择“香蕉”
- comboBox 现在显示“香蕉”,目前为止是正确的
- 现在我再次单击组合框以查看下拉菜单。我移动鼠标以突出显示“橙色”。然后我按 TAB 键移出组合框
- 组合框仍显示“香蕉”
- 但是,当我获得 selectedItem 时,它是“橙色”
这是预期的行为吗?如果我突出显示“橙色”并标记出来,我希望:
- selectedItem 应该保持不变(意味着 tab out 不会触发选择更改)或者...
- 组合框应显示“橙色”,因为选择已更改
我通过使用comboBox.Leave 事件处理程序将文本字段手动设置为selectedItem 来克服这个问题,但是,我想知道我是否在这里遗漏了一些基本概念。
如果选择发生变化,comboBox.Text 应该在没有任何人工干预的情况下反映这一点似乎是合乎逻辑的?
【问题讨论】:
-
你能发布你的代码吗?
-
如果列表使用 DropDownList 样式,则不会发生这种情况。
标签: c# winforms combobox selecteditem