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

У меня есть некоторые элементы управления, которые я хотел бы отображать ToolTip когда мышь витает над ним. Как я могу это сделать? Я хотел бы знать, как это сделать правильно в коде, но также и в дизайнере (в панели инструментов есть компонент ToolTip , но я не совсем понимаю).

Я не удивлюсь, если это дубликат, но я могу найти только вопросы, которые относятся к более продвинутым конкретным сценариям. Я хотел бы знать основы.

Вот ваша статья для этого с кодом

 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"); } 

Перетащите элемент tooltip из панели инструментов в вашу форму. Вам действительно не нужно давать ему никаких свойств, кроме имени. Затем в свойствах элемента управления вы хотите включить всплывающую подсказку, найдите новое свойство с именем только что добавленного элемента подсказки. Он по умолчанию даст вам подсказку, когда курсор наведет элемент управления.

  1. Добавить компонент ToolTip в вашу форму
  2. Выберите один из элементов управления, для которого требуется подсказка инструмента для
  3. Откройте сетку свойств ( F4 ), в списке вы найдете свойство под названием «ToolTip on toolTip1» (или что-то подобное). Установите желаемый текст всплывающей подсказки в этом свойстве.
  4. Повторите 2-3 для других элементов управления
  5. Готово.

Хитрость здесь заключается в том, что элемент управления ToolTip является элементом управления расширением, что означает, что он расширит набор свойств для других элементов управления в форме. За кулисами это достигается путем генерации кода, как в ответе Светлозара. Существуют другие элементы управления, работающие одинаково (например, HelpProvider ).

ToolTip на C # очень легко добавить почти все элементы пользовательского интерфейса. Для этого вам не нужно добавлять какое-либо событие MouseHover.

Вот как это сделать –

  1. Добавьте объект ToolTip в вашу форму. Одного объекта достаточно для всей формы. ToolTip toolTip = new ToolTip();

  2. Добавьте элемент управления в подсказку с нужным текстом.

    toolTip.SetToolTip(Button1,"Click here");

Я сделал это так: просто добавьте событие в любой элемент управления, установите тег элемента управления и добавьте условное выражение для обработки всплывающей подсказки для соответствующего элемента управления / метки.

  private void Info_MouseHover(object sender, EventArgs e) { Control senderObject = sender as Control; string hoveredControl = senderObject.Tag.ToString(); // only instantiate a tooltip if the control's tag contains data if (hoveredControl != "") { ToolTip info = new ToolTip { AutomaticDelay = 500 }; string tooltipMessage = string.Empty; // add all conditionals here to modify message based on the tag of the hovered control if (hoveredControl == "save button") { tooltipMessage = "This button will save stuff."; } info.SetToolTip(senderObject, tooltipMessage); } } 

Просто подпишитесь на событие ToolTipTextNeeded элемента управления и верните e.TooltipText намного проще.

  • Как перемещать и изменять размер формы без границы?
  • Как изменить Form1 label.text при установке флажка на form2?
  • Сложный пользовательский интерфейс внутри ListBoxItem
  • C # Получить позицию элемента управления в форме
  • Откройте URL-адрес из Windows Forms
  • Как обнаружить, что код C # Windows Forms выполняется в Visual Studio?
  • Как преобразовать консольное приложение .NET в приложение Winforms или WPF
  • Доступ ко всем узлам в элементе управления TreeView
  • ComboBox.SelectedText не дает мне SelectedText
  • C # - Как сделать две формы ссылки друг на друга
  • Передача данных между двумя формами со свойствами
  • Давайте будем гением компьютера.