Отобразить подсказку в текущем документе - PullRequest
0 голосов
/ 24 ноября 2010

Я занимаюсь разработкой редактора кода, такого как VS.Я хочу отобразить окно с подсказкой, когда курсор мыши попадает на текст.Метод ToolTip.Show() запрашивает параметр IWin32Window ...

Скажите, пожалуйста, как отобразить подсказку в текущем документе так же, как работает Visual Studio Intellisense.

Ответы [ 2 ]

0 голосов
/ 24 ноября 2010

Метод ToolTip.Show также имеет другие более подходящие перегрузки, такие как эта .

Вы можете передать элемент управления редактирования (т. Е. Текстовое поле), который хотите связать с всплывающей подсказкой, в качестве параметра IWin32Window.

Затем вы можете указать текущие координаты курсора мыши в качестве аргументов X и Y:

  • Если вы пытаетесь показать эту подсказку в одном из обработчиков событий мыши (например, MouseMove), текущие координаты курсора мыши передаются как часть MouseEventArgs - просто используйте свойства e.X и e.Y.

  • В противном случае вам нужно будет использовать свойство Control.MousePosition , чтобы получить его текущее местоположение, которое вернет Point, представляющее его текущее местоположение относительно координат экрана. Еще одна из перегрузок к методу ToolTip.Show принимает параметр Point, который можно использовать здесь вместо отдельных координат X и Y

0 голосов
/ 24 ноября 2010

ToolTip.Show Метод (String, IWin32Window)

Второй аргумент - это элемент управления, для которого должна отображаться подсказка.

toolTip1.Show("Test 123", button1, Int32.MaxValue); 

Visual Studio отслеживает слово под мышью и отображает подсказки / intellisense соответственно. Один из способов сделать то же самое может быть следующим:

  1. Отслеживание движений мыши
  2. Получить текст под мышью
  3. Показать подсказку .
...