2010-11-24 2 views
0

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

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

+1

Больше информации. Какой контроль вы используете для отображения текста? Это индивидуальный контроль? Почему вы не можете определить положение мыши и соответственно изменить текст подсказки? – Brad 2010-11-24 06:51:48

ответ

0

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

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

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

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

  1. Трек mouse movements
  2. Получить text under мышь
  3. Show tooltip.
0

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

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

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

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

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