Установить местоположение указателя мыши для выбранного элемента в поле со списком - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть выпадающий список, который падает вверх, а не вниз.Я устанавливаю выбранный элемент на верхний в списке.Я хотел бы переместить указатель мыши, чтобы он указывал на него, чтобы пользователю, который хочет щелкнуть по этому элементу, не приходилось перемещать свою мышь.Я нашел, как перемещать указатель, именно с этой командой:

Windows.Forms.Cursor.Position = New System.Drawing.Point(x,y)

, но мне нужно знать, как получить местоположение выбранного элемента в выпадающем списке.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2012

При поиске пунктов назначения на туристических сайтах они часто представляют отсортированный список пунктов назначения, но в начале в списке дублируются 2-3 наиболее распространенных пункта назначения.Таким образом, вы оба соблюдаете стандартное поведение и облегчаете жизнь конечному пользователю.

Я бы добавил в конец списка со списком наиболее часто используемые элементы, чтобы их было легко выбирать без необходимостичтобы переместить мышь более чем на пару миллиметров.Сортированный список пойдет выше, если пользователь хочет выбрать что-то еще.При запуске программы установите последний элемент как выбранный (пункт «Выбор места назначения»).

(Тогда я бы объяснил клиенту, что именно этого ожидают пользователи, а не указатели мыши, которые перемещаются сами по себе и надеются, что у клиента передумает.)1007 *

enter image description here

0 голосов
/ 10 февраля 2012

Если проблема в том, что первый элемент находится слишком далеко от комбо: разве вы не можете изменить порядок элементов?так что первый и наиболее кликаемый элемент стал последним, и благодаря этому будет очень близко к комбо.Может быть, вы также можете вставить пустой элемент между наиболее нажатым и другими, чтобы выделить его.

ОБНОВЛЕНИЕ 1
Итак, если элемент управления является стандартной формой winВ выпадающем списке вы можете проверить значение свойства ItemHeight, а затем умножить это значение на количество элементов в раскрывающемся списке. Это должно дать вам позицию первого элемента в раскрывающемся списке.
С этим значением, возможно, выВы сможете подсчитать, куда поместить курсор мышиесли он работает правильно с другим шрифтом / размером шрифта (свойство ItemHeight доступно только для чтения и привязано к выбранному шрифту / размеру шрифта)

, вам следует попробовать, что произойдет, когда пользователь изменит увеличение размера шрифта системы (120 dpi 125% / 150%) Обратите внимание, что WinXP и Win7 обрабатывают этот параметр по-разному проверить, достаточно ли на экране места для всех элементов в раскрывающемся списке настроить раскрывающийся список так, чтобы MaxDropDownItems> превышал число в раскрывающемся списке
...