ToolTip jest w rzeczywistości formantem WinForm, który obsługuje wyświetlanie podpowiedzi dla wielu elementów w jednym formularzu.
Powiedz, że twój przycisk nazywa się MyButton.
Dodaj formant ToolTip (w obszarze Wspólne formanty w przyborniku Windows Forms) do formularza.
Nadaj temu nazwę - powiedz MyToolTip
Ustaw właściwość „Tooltip na MyToolTip” MyButton (w sekcji Misc w siatce właściwości przycisku) na tekst, który powinien się pojawić po najechaniu na nią myszą.
Etykietka pojawi się automatycznie, gdy kursor najedzie na przycisk, ale jeśli chcesz go wyświetlić programowo, zadzwoń
MyToolTip.Show("Tooltip text goes here",MyButton)
w kodzie, aby wyświetlić etykietkę, oraz MyToolTip.Hide (MyButton), aby ponownie zniknęła.
fajnie, ale pytanie: jeśli mam więcej niż jeden przycisk w formularzu, potrzebuję więcej podpowiedzi lub mogę ustawić wiele opisów i przycisków dla tego samego podpowiedzi?
ghiboz
8
Twoja postać potrzebuje tylko jednego przełącznika etykietka - każdy przycisk może mieć inny tekst pomocy (to dlaczego „Etykietka na MyToolTip” jest właściwością sterowania i kontroli, a nie samej kontroli etykietka)
Dylan Beattie
2
W najprostszym przypadku najlepiej jest dodać etykietkę do formularza. Problem: w czasie projektowania kontroli niestandardowej nie ma odniesienia do formularza nadrzędnego. Rozwiązanie: utwórz obiekt podpowiedzi w Kontrolce. Nie myśl o tym, że obiekt ToolTip jest koniecznie dołączony do formularza.
Stéphane Gourichon
93
Za pomocą projektanta formularzy:
Przeciągnij kontrolkę ToolTip z Przybornika na formularz.
Wybierz właściwości kontrolki, na której ma się pojawiać podpowiedź.
Znajdź właściwość „ToolTip na toolTip1” (nazwa może nie być toolTip1, jeśli zmieniono jej domyślną nazwę).
Ustaw tekst właściwości na tekst podpowiedzi, który chcesz wyświetlić.
Możesz także ustawić podpowiedź programowo za pomocą następującego wywołania:
Dostosowaną podpowiedź można również zastosować w przypadku, gdy formatowanie jest wymagane w przypadku wiadomości podpowiedzi. Można to utworzyć poprzez niestandardowe formatowanie formularza i użycie go jako okna dialogowego podpowiedzi w przypadku zdarzenia najechania myszą kontrolki. Proszę sprawdzić poniższy link, aby uzyskać więcej informacji -
Leniwe i kompaktowe przechowywanie tekstu we właściwości Tag
Jeśli jesteś trochę leniwy i nie używasz właściwości Tag elementów sterujących do niczego innego, możesz użyć jej do zapisania tekstu podpowiedzi i przypisać moduły obsługi zdarzeń MouseHover do wszystkich takich elementów sterujących za jednym razem:
W tym przypadku wszystkim przyciskom posiadającym ciąg znaków we właściwości Tag przypisuje się zdarzenie MouseHover . Aby zachować kompaktowość, zdarzenie MouseHover jest definiowane bezpośrednio za pomocą wyrażenia lambda. W przypadku, gdy dowolny przycisk zostanie nałożony, jego etykieta zostanie przypisana do etykietki narzędzia i wyświetlona.
.NET Framework zapewnia klasę ToolTip. Dodaj jedną z nich do formularza, a następnie w zdarzeniu MouseHover dla każdego elementu, dla którego chcesz podpowiedź, wykonaj następujące czynności:
Ten fragment kodu może rozwiązać pytanie, ale wyjaśnienie naprawdę pomaga poprawić jakość posta. Pamiętaj, że w przyszłości odpowiadasz na pytanie dla czytelników, a ci ludzie mogą nie znać przyczyn Twojej sugestii kodu.
Myślę, że zostałeś odrzucony, ponieważ nie jest to sposób używania formantów ToolTip w Windows Forms. Potrzebujesz tylko jednego takiego formantu w formularzu, który pokazuje wskazówki dla wszystkich formantów. Zobacz kod w innych odpowiedziach.
Julian Melville,
1
Wydaje mi się, że wyjaśnienie nie pasuje do kodu. Gdzie w wyjaśnieniu powiedziałem, wyświetl go, a także w kodzie, który go zainicjowałem. Mój błąd. : P
Fry
2
@ julianz Właściwie to działa dobrze, ponieważ ma specjalne podpowiedzi, które mogą być dynamiczne, jeśli chcesz w zależności od stanu (minus oczywiście tworzenie - wybacz mi, starałem się dopasować wszystko do jednego bloku). Co do innych odpowiedzi na podobna żyła ... yshuditelu i Dylan Beattie były podobne, choć bez instancji.
Odpowiedzi:
ToolTip jest w rzeczywistości formantem WinForm, który obsługuje wyświetlanie podpowiedzi dla wielu elementów w jednym formularzu.
Powiedz, że twój przycisk nazywa się MyButton.
Etykietka pojawi się automatycznie, gdy kursor najedzie na przycisk, ale jeśli chcesz go wyświetlić programowo, zadzwoń
w kodzie, aby wyświetlić etykietkę, oraz MyToolTip.Hide (MyButton), aby ponownie zniknęła.
źródło
Za pomocą projektanta formularzy:
Możesz także ustawić podpowiedź programowo za pomocą następującego wywołania:
źródło
Możesz użyć klasy ToolTip:
Tworzenie podpowiedzi dla kontrolki
Przykład:
źródło
new ToolTip().SetToolTip(this.Button1, "Hello");
W przypadku domyślnej podpowiedzi można tego użyć -
Dostosowaną podpowiedź można również zastosować w przypadku, gdy formatowanie jest wymagane w przypadku wiadomości podpowiedzi. Można to utworzyć poprzez niestandardowe formatowanie formularza i użycie go jako okna dialogowego podpowiedzi w przypadku zdarzenia najechania myszą kontrolki. Proszę sprawdzić poniższy link, aby uzyskać więcej informacji -
http://newapputil.blogspot.in/2015/08/create-custom-tooltip-dialog-from-form.html
źródło
Leniwe i kompaktowe przechowywanie tekstu we właściwości Tag
Jeśli jesteś trochę leniwy i nie używasz właściwości Tag elementów sterujących do niczego innego, możesz użyć jej do zapisania tekstu podpowiedzi i przypisać moduły obsługi zdarzeń MouseHover do wszystkich takich elementów sterujących za jednym razem:
W tym przypadku wszystkim przyciskom posiadającym ciąg znaków we właściwości Tag przypisuje się zdarzenie MouseHover . Aby zachować kompaktowość, zdarzenie MouseHover jest definiowane bezpośrednio za pomocą wyrażenia lambda. W przypadku, gdy dowolny przycisk zostanie nałożony, jego etykieta zostanie przypisana do etykietki narzędzia i wyświetlona.
źródło
.NET Framework zapewnia klasę ToolTip. Dodaj jedną z nich do formularza, a następnie w zdarzeniu MouseHover dla każdego elementu, dla którego chcesz podpowiedź, wykonaj następujące czynności:
źródło
źródło
Na podstawie odpowiedzi DaveK stworzyłem rozszerzenie kontroli:
Następnie możesz ustawić etykietkę dla dowolnego elementu sterującego za pomocą jednej linii:
źródło
Jasne, po prostu obsłuż kursor myszy i powiedz mu, aby wyświetlił podpowiedź. t to podpowiedź zdefiniowana w globals lub w konstruktorze przy użyciu:
następnie moduł obsługi zdarzeń:
źródło