【发布时间】:2011-07-28 12:16:17
【问题描述】:
我刚刚注意到 ComboBox 组件的一个奇怪行为。我在 DropDownList 样式中使用它。如果我单击它,它会像往常一样下拉项目列表。但是,如果我单击表单上的其他组件,组合框不会让我离开它,除非我选择其中一项。我想添加 onmouseleave 事件,但在这种情况下,即使我将鼠标移出组合框区域一点,它也会关闭,这是不可取的。我想看到的是,每当我单击其区域之外的某个位置时,组合框就会失去焦点。这可能吗?
【问题讨论】:
-
这是正常行为;我怀疑您自己(或第三方)的某些代码会阻止它。
-
我也是这么想的,然后我打开了一个新的应用程序。在上面放一个 TComboBox 和 TEdit。我将 ComboBox 样式更改为 DropDownList,向其中添加了几个项目,然后运行应用程序。问题仍然存在。每当我点击 CB 时,它就会下拉,然后如果我点击编辑,焦点仍然在组合框上。
-
我刚刚在 Delphi 6 中做到了(因为我不相信你),它的行为符合预期。
-
看来该程序在其他计算机上运行正常。可能我的配置有问题。我仍然不知道是什么导致了这种行为。
标签: delphi combobox event-handling focus onmouseout