С#: Как добавить подсказку в элемент управления?
У меня есть некоторые элементы управления, которые я бы хотел отобразить ToolTip
, когда мышь витает над ним. Как я могу это сделать? Я хотел бы знать, как это сделать правильно в коде, но также и в дизайнере (в панели инструментов есть компонент ToolTip
, но я не совсем понимаю).
Я не удивлюсь, если это дубликат, но я могу найти только вопросы, которые относятся к более продвинутым конкретным сценариям. Я хотел бы знать основы.
Ответы
Ответ 1
Здесь ваша статья для этого с кодом
private void Form1_Load(object sender, System.EventArgs e)
{
// Create the ToolTip and associate with the Form container.
ToolTip toolTip1 = new ToolTip();
// Set up the delays for the ToolTip.
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
// Force the ToolTip text to be displayed whether or not the form is active.
toolTip1.ShowAlways = true;
// Set up the ToolTip text for the Button and Checkbox.
toolTip1.SetToolTip(this.button1, "My button1");
toolTip1.SetToolTip(this.checkBox1, "My checkBox1");
}
Ответ 2
Перетащите элемент подсказки из панели инструментов в форму. Вам действительно не нужно давать ему никаких свойств, кроме имени. Затем в свойствах элемента управления вы хотите включить всплывающую подсказку, найдите новое свойство с именем только что добавленного элемента подсказки. Он по умолчанию даст вам подсказку, когда курсор наведет элемент управления.
Ответ 3
- Добавить компонент ToolTip в вашу форму
- Выберите один из элементов управления, для которого требуется подсказка для
- Откройте сетку свойств (F4), в списке вы найдете свойство "ToolTip on toolTip1" (или что-то подобное). Установите желаемый текст всплывающей подсказки в этом свойстве.
- Повторите 2-3 для других элементов управления.
- Готово.
Трюк здесь в том, что элемент управления ToolTip является элементом управления расширением, что означает, что он расширит набор свойств для других элементов управления в форме. За кулисами это достигается путем генерации кода, как в ответе Светлозара. Существуют другие элементы управления, работающие таким же образом (например, HelpProvider
).
Ответ 4
ToolTip на С# очень легко добавить почти все элементы пользовательского интерфейса. Для этого вам не нужно добавлять какое-либо событие MouseHover.
Вот как это сделать -
-
Добавить объект ToolTip в вашу форму. Одного объекта достаточно для всей формы.
ToolTip toolTip = new ToolTip();
-
Добавьте элемент управления в всплывающую подсказку с нужным текстом.
toolTip.SetToolTip(Button1,"Click here");
Ответ 5
Просто подпишитесь на элемент управления ToolTipTextNeeded и верните e.TooltipText намного проще.