这个UI工作的优雅方式?

时间:2011-01-25 20:24:17

标签: c# visual-studio-2010 vsto

VS .NET 4.0中的

因此,当ComBobox文本发生更改(事件)时,我有一些ComboBox可以在服务器中查询与ComboBox中的文本匹配的数据。

我希望ComboBox在查询完成时下拉,以便用户可以看到结果并可能使用它们。

问题:

快速查询=>快速下拉菜单(不是很有帮助)

更改下拉列表的内容会导致文本输入光标重置为字段中的第一个位置。在光标强制到第一个位置之前输入超过3个字符是非常困难的。 - 据我所知,这是ComboBox的默认行为

按'向下'滚动建议列表会使下拉列表顶部的第一个条目放入文本字​​段。除非用户点击Return或点击它,否则不会发生这种情况。

我想要的是什么:

克服下拉光标重新定位问题。 (最重要的是)

使用箭头键滚动列表而不必强制选择任何内容。

限制查询服务器的速率。


我有自己的解决方案,但目前看起来很糟糕。

我正在使用Timer对象处理下拉列表和查询计时,但是我的实现会阻止用户在键入时进行查询,并且如果用户键入太快或太快,则下拉列表并不总是在正确的时间发生慢。

感谢那些试图提供帮助的人!

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解你想要的内容,但我个人认为我会考虑跳过Combobox并使用ListView。可能是隐藏的一个,我只在查询结束时显示,然后是Textbox用户可以输入的内容。
感觉就像你正在尝试使用Combobox来寻找它不适合的东西。