我有一个组合框放下而不是下降。我将所选项目设置为列表顶部的项目。我想将鼠标指针移动到指向它,以便想要点击该项目的用户不必移动他的鼠标。我找到了如何移动指针,它是用这个命令:
Windows.Forms.Cursor.Position = New System.Drawing.Point(x,y)
但我需要知道如何在组合框中获取所选项目的位置。
答案 0 :(得分:0)
如果问题是第一项距离组合太远:你不能反转项目的顺序吗?因此,第一个也是最常点击的项目成为最后一个项目,因此将非常接近组合。也许你也可以在点击次数最多的项目和其他项目之间插入一个空项目,以使其脱颖而出。
更新1
因此,如果控件是标准的winform组合框,您可以尝试检查属性ItemHeight的值,然后将此值乘以下拉列表中的项目数,这应该为您提供下拉列表中第一个项目的位置。
使用此值可能您将能够计算鼠标光标的放置位置。
注意事项:
答案 1 :(得分:0)
在旅行网站上搜索目的地时,它们通常会显示已排序的目的地列表,但在开头的列表中有2-3个最常见的目的地。这样,您既可以遵守标准行为,又可以让最终用户轻松生活。
我会在组合框的末尾添加一个快速列表,其中包含最常用的项目,因此无需移动鼠标超过几毫米即可轻松选择。如果用户想要选择其他任何内容,则排序列表将在上面。程序启动时将最后一项设置为选中("选择目的地" -item)。
(然后我会向客户解释这是用户期望的,而不是单独移动的鼠标指针,希望客户改变主意。)
像这样: