我正在尝试创建一个类似于Firefox 3 Awesomebar的组合框,具有以下行为:
我有异步结果并过滤所有工作,但我没有一个很好的方法来显示和选择结果。
组合框会自动填充输入框,其中包含向下箭头时选择的内容。失败#3。
我有DevExpress控件,但他们的组合框做了同样的事情,我无法弄清楚如何覆盖它们。
LookupEdit不允许输入任意内容。也没有PopupContainerEdit。
我想要的行为就像一个文本框,下面有一个列表框,文本框中的上/下事件会传递给列表框。但是,如果我尝试制作一个自定义控件,将两者结合起来,我就不知道如何“浮动”列表框,就像普通组合框上的下拉列表一样。
非常感谢线索!
答案 0 :(得分:3)
您可能需要使用文本框而不是组合框,因为使用箭头键从组合列表中选择值并覆盖当前值。通过使用文本框,您可以在TextChanged事件中查找,并且可以通过覆盖KeyPress事件来存储当前键入的值,以收集和存储用户键入的键。 弹出值列表必须在paint事件中自行绘制。
这可能看起来过于复杂,但你可能需要放弃组合控件并自己实现它的一些功能。
答案 1 :(得分:3)
我一直在使用Skybound的AutoComplete控件。免费。它可以自定义,以便它可以近似Awesomebar的行为。