С#: Как добавить подсказку в элемент управления?

У меня есть некоторые элементы управления, которые я бы хотел отобразить 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 намного проще.