Mam pewne elementy sterujące, które chciałbym wyświetlić, ToolTip
gdy kursor myszy znajduje się nad nim. W jaki sposób mogę to zrobić? Chciałbym wiedzieć, jak to zrobić poprawnie w kodzie, ale także w projektancie ( ToolTip
w przyborniku jest komponent, ale nie całkiem… rozumiem).
Nie zdziwiłbym się, gdyby to był duplikat, ale mogę znaleźć tylko pytania dotyczące bardziej zaawansowanych, szczegółowych scenariuszy. Chciałbym poznać podstawy.
Odpowiedzi:
Oto Twój artykuł dotyczący robienia tego z kodem
źródło
toolTip1
zmienna wykracza poza zakres?ToolTip
dla wszystkich twoich formularzy?Przeciągnij kontrolkę podpowiedzi z przybornika do formularza. Tak naprawdę nie musisz nadawać mu żadnych właściwości poza nazwą. Następnie we właściwościach kontrolki, dla której chcesz mieć podpowiedź, poszukaj nowej właściwości z nazwą właśnie dodanej kontrolki podpowiedzi. Domyślnie wyświetli podpowiedź, gdy kursor znajdzie się na kontrolce.
źródło
Sztuczka polega na tym, że formant ToolTip jest kontrolką rozszerzającą , co oznacza, że rozszerzy zestaw właściwości dla innych kontrolek w formularzu. Za kulisami osiąga się to poprzez generowanie kodu, jak w odpowiedzi Svetlozar. Istnieją inne kontrolki działające w ten sam sposób (na przykład
HelpProvider
).źródło
Etykietka narzędzi w języku C # jest bardzo łatwa do dodania do prawie wszystkich kontrolek interfejsu użytkownika. W tym celu nie musisz dodawać żadnego zdarzenia MouseHover.
Oto jak to zrobić-
Dodaj obiekt ToolTip do formularza. Na całą formę wystarczy jeden przedmiot.
ToolTip toolTip = new ToolTip();
Dodaj kontrolkę do etykiety narzędzi z żądanym tekstem.
toolTip.SetToolTip(Button1,"Click here");
źródło
Zrobiłem to w ten sposób: po prostu dodaj zdarzenie do dowolnej kontrolki, ustaw znacznik kontrolki i dodaj warunek, aby obsłużyć etykietkę dla odpowiedniej kontrolki / tagu.
źródło
Po prostu zasubskrybuj zdarzenie ToolTipTextNeeded kontrolki i zwróć e.TooltipText, znacznie prostsze.
źródło