【发布时间】:2010-03-21 16:23:48
【问题描述】:
单击时不会打开表单(模式对话框)中的组合框,但是可以使用向上/向下箭头键选择项目。 单击另一个窗口并返回对话框后,组合框按预期工作,即单击时展开。
奇怪...任何想法可能导致这种行为?
提前非常感谢, 彼得
编辑: Combobox 由编译时创建,但由运行时填充。
使 Combobox 无效并包含 Form 没有帮助。
按照 Henk 的建议,我尝试使用设计器添加一个新的 Combobox,结果与现有 Combobox 的代码完全相同。新的组合框在为空时工作正常,但一旦以编程方式设置数据源就会采取奇怪的行为......这就是我正在做的事情:
comboBox1.DataSource = langs;
comboBox1.DisplayMember = "NativeName";
comboBox1.ValueMember = "Name";
(langs 是一个 List<CultureInfo> 有两个条目)
嗯。如果我用任意两个项目(例如“A”、“B”)预设 Items 属性,一切正常......嗯?这对我有用,但似乎很奇怪。这是一个错误吗? (不,不是真的,我的误解)
【问题讨论】:
-
跟进:在哪里你设置DataSource?也许在 OnActivate 中?
-
这里的标准诊断是 Control.Capture 的问题。捕获鼠标后,您需要单击两次。第一次单击取消捕获。您的帖子中完全不清楚为什么会捕获它。
-
@nobugz:不,这不是点击两次的问题。单击后组合框会聚焦(我可以使用箭头键选择),但只要我没有将另一个元素聚焦在中间,它就不会打开。