是的,这是设计使然。ComboBox 使用SHAutoComplete API 函数来实现自动完成功能。请注意声明,该函数采用 ComboBox 的文本框部分的句柄。因此,它不知道它实际上是为 ComboBox 而不是 TextBox 提供自动完成信息。因此,它无法补偿您使用的非标准下拉宽度。
嗯,这解释了为什么它不起作用。修复它在技术上是可行的,但相当难看。您必须在 KeyUp 事件中运行代码并使用 EnumTheadWindows() 来查找自动完成窗口句柄。然后你可以使用 SetWindowPos() 将其变大。ComboBox.cs (AutoCompleteDropDownFinder.FindDropDowns) 中已经有类似的代码,请使用参考源或 Reflector 来帮助您正确完成此操作。祝你好运!
| 归档时间: |
|
| 查看次数: |
632 次 |
| 最近记录: |