ToolTip на самом деле является элементом управления WinForms, который обрабатывает отображение подсказок для нескольких элементов в одной форме.
Скажите, что ваша кнопка называется MyButton.
Добавьте элемент управления ToolTip (в разделе «Общие элементы управления» на панели инструментов Windows Forms) в форму.
Дай ему имя - скажи MyToolTip
Установите для свойства «Подсказка на MyToolTip» MyButton (в разделе «Разное» в сетке свойств кнопки) текст, который должен отображаться при наведении на него курсора.
Всплывающая подсказка автоматически появляется, когда курсор находится над кнопкой, но если вам нужно отобразить ее программно, вызовите
MyToolTip.Show("Tooltip text goes here",MyButton)
в вашем коде, чтобы показать всплывающую подсказку, и MyToolTip.Hide (MyButton), чтобы она снова исчезла.
хорошо, но вопрос: если у меня есть более одной кнопки в форме, мне нужно больше всплывающей подсказки, или я могу установить несколько описаний и кнопок для одной подсказки?
гибоз
8
Ваша форма нуждается только в одном элементе управления ToolTip - каждая кнопка может иметь различный текст справки (именно поэтому «Tooltip on MyToolTip» является свойством связанного элемента управления, а не самого элемента управления ToolTip)
Dylan Beattie,
2
В простейшем случае лучше всего добавить подсказку в форму. Проблема: во время разработки пользовательского элемента управления у вас нет ссылки на родительскую форму. Решение: создайте объект всплывающей подсказки в элементе управления. Не думайте, что объект ToolTip обязательно прикреплен к форме.
Стефан Гуричон
93
Использование дизайнера форм:
Перетащите элемент управления ToolTip из панели инструментов на форму.
Выберите свойства элемента управления, на котором должна отображаться подсказка.
Найдите свойство ToolTip on toolTip1 (имя может не быть toolTip1, если вы изменили его имя по умолчанию).
Установите текст свойства в текст подсказки, который вы хотите отобразить.
Вы также можете установить подсказку программно, используя следующий вызов:
Настроенная всплывающая подсказка может также использоваться в случае, если для сообщения всплывающей подсказки требуется форматирование. Это может быть создано путем пользовательского форматирования формы и использования его в качестве всплывающей подсказки при наведении курсора мыши на элемент управления. Пожалуйста, проверьте следующую ссылку для более подробной информации -
Ленивое и компактное хранение текста в свойстве Tag
Если вы немного ленивы и не используете свойство Tag элементов управления для чего-либо еще, вы можете использовать его для хранения текста всплывающей подсказки и назначить обработчики событий MouseHover всем таким элементам управления за один раз:
В этом случае всем кнопкам, имеющим строку в свойстве Tag, назначается событие MouseHover . Чтобы сохранить его компактность, событие MouseHover определяется внутри строки с помощью лямбда-выражения. В случае , если какая - либо кнопка парила будет иметь свой тег текст , назначенный на подсказку и показан на рисунке.
.NET Framework предоставляет класс ToolTip. Добавьте один из них в форму, а затем в событии MouseHover для каждого элемента, для которого вы хотите всплывающую подсказку, сделайте что-то вроде следующего:
Хотя этот фрагмент кода может решить вопрос, в том числе объяснение действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин, по которым вы предлагаете код.
18:30
0
Основываясь на ответе DaveK , я создал контрольное расширение:
Конечно, просто обработайте событие mousehover и попросите его показать подсказку. t это всплывающая подсказка, определенная либо в глобальных переменных, либо в конструкторе с использованием:
Я думаю, что вам отказали, потому что это не способ использовать элементы управления всплывающей подсказки в Windows Forms. Вам нужен только один такой элемент управления в форме, и он показывает советы для всех элементов управления. Смотрите код в других ответах.
Джулиан Мелвилл
1
Я предполагаю, что объяснение не соответствует коду, где в объяснении, которое я сказал, отображают его и в коде, которое я инициализировал. Виноват. : P
Фрай
2
@ julianz На самом деле, это хорошо работает для специализированных подсказок, которые могут быть динамическими, если вы хотите в зависимости от состояния (минус, конечно, создание - простите, я просто пытался уместить все это в один блок.) Что касается других ответов на похожая вена ... ишудитель и Дилан Битти были похожи, хотя и без инстанциирования.
Ответы:
ToolTip на самом деле является элементом управления WinForms, который обрабатывает отображение подсказок для нескольких элементов в одной форме.
Скажите, что ваша кнопка называется MyButton.
Всплывающая подсказка автоматически появляется, когда курсор находится над кнопкой, но если вам нужно отобразить ее программно, вызовите
в вашем коде, чтобы показать всплывающую подсказку, и MyToolTip.Hide (MyButton), чтобы она снова исчезла.
источник
Использование дизайнера форм:
Вы также можете установить подсказку программно, используя следующий вызов:
источник
Вы можете использовать класс ToolTip:
Создание всплывающей подсказки для элемента управления
Пример:
источник
new ToolTip().SetToolTip(this.Button1, "Hello");
Для всплывающей подсказки по умолчанию это может быть использовано -
Настроенная всплывающая подсказка может также использоваться в случае, если для сообщения всплывающей подсказки требуется форматирование. Это может быть создано путем пользовательского форматирования формы и использования его в качестве всплывающей подсказки при наведении курсора мыши на элемент управления. Пожалуйста, проверьте следующую ссылку для более подробной информации -
http://newapputil.blogspot.in/2015/08/create-custom-tooltip-dialog-from-form.html
источник
Ленивое и компактное хранение текста в свойстве Tag
Если вы немного ленивы и не используете свойство Tag элементов управления для чего-либо еще, вы можете использовать его для хранения текста всплывающей подсказки и назначить обработчики событий MouseHover всем таким элементам управления за один раз:
В этом случае всем кнопкам, имеющим строку в свойстве Tag, назначается событие MouseHover . Чтобы сохранить его компактность, событие MouseHover определяется внутри строки с помощью лямбда-выражения. В случае , если какая - либо кнопка парила будет иметь свой тег текст , назначенный на подсказку и показан на рисунке.
источник
.NET Framework предоставляет класс ToolTip. Добавьте один из них в форму, а затем в событии MouseHover для каждого элемента, для которого вы хотите всплывающую подсказку, сделайте что-то вроде следующего:
источник
источник
Основываясь на ответе DaveK , я создал контрольное расширение:
Затем вы можете установить всплывающую подсказку для любого элемента управления одной строкой:
источник
Конечно, просто обработайте событие mousehover и попросите его показать подсказку. t это всплывающая подсказка, определенная либо в глобальных переменных, либо в конструкторе с использованием:
тогда обработчик события:
источник