.net Windows窗体的类Awesomebar行为

.net Windows窗体的类Awesomebar行为,.net,winforms,devexpress,.net,Winforms,Devexpress,我正在尝试创建一个组合框,其行为有点像Firefox 3 Awesomebar,具有以下行为: 输入文本 异步带回结果 向上和向下选择列表中的结果,但保留输入框中键入的文本,以便用户可以继续编辑以不同方式限制结果集 Enter触发父窗体将处理的事件 我有异步结果和过滤所有工作,但我没有一个显示和选择结果的好方法 当您向下箭头时,组合框会自动用所选内容填充输入框。失败#3 我有DevExpress控件,但是它们的组合框做同样的事情,我不知道如何覆盖它们 LookupEdit不允许键入任意内容。Po

我正在尝试创建一个组合框,其行为有点像Firefox 3 Awesomebar,具有以下行为:

  • 输入文本
  • 异步带回结果
  • 向上和向下选择列表中的结果,保留输入框中键入的文本,以便用户可以继续编辑以不同方式限制结果集
  • Enter触发父窗体将处理的事件
  • 我有异步结果和过滤所有工作,但我没有一个显示和选择结果的好方法

    当您向下箭头时,组合框会自动用所选内容填充输入框。失败#3

    我有DevExpress控件,但是它们的组合框做同样的事情,我不知道如何覆盖它们

    LookupEdit不允许键入任意内容。PopupContainerEdit也没有

    我希望行为像一个文本框,下面有一个列表框,文本框中的上/下事件被传递到列表框。但是,如果我尝试创建一个自定义控件,将这两个控件组合在一起,我就不知道如何像普通组合框上的下拉菜单那样“浮动”列表框


    非常感谢

    您可能需要使用文本框而不是组合框,因为使用箭头键是从组合列表中选择值并覆盖当前值。通过使用文本框,您可以在TextChanged事件中进行查找,并可以通过覆盖KeyPress事件来收集和存储用户键入的密钥来存储当前键入的值。
    您必须在绘制事件中自绘制值的弹出列表


    这可能看起来过于复杂,但您可能需要放弃combo控件,自己实现它的一些功能。

    我一直在使用Skybound中的AutoComplete控件。它是免费的。可以对其进行自定义,以便它可以近似于Awesomebar中的行为


    这个数据绑定模式下的控件几乎完全符合我的要求。摇滚乐!非常感谢。很高兴为您服务。:)啊,问题:我希望能够有“文本”返回完成选项,如“中间的字符串文本”和“更多文本”。我不知道如何覆盖仅在开始时匹配的默认筛选,并提供我自己的筛选。我需要购买许可证才能获得来源吗?我不知道答案,但你可以问他们。请看该页面底部的链接。上面写着“问一个问题”。我以前从他们那里得到过答案。他们实际上告诉我他们的控制不支持我想做的事情——尽管反应很快,所以谢谢你。。。他们建议只显示我自己的浮动列表框,我已经尝试过了,但它并不像应该的那么简单。。。真不敢相信这件事竟然没有失控!这是一种痛苦,但似乎这是唯一的办法。只需在下方显示一个浮动的列表框,不让它有焦点,并将上/下键事件转发给它,就可以稍微简单一些。