2013-09-25 27 views
5

Mam pole wyboru, które jest zmieniane wraz z moim głównym formularzem. Tekst tego pola wyboru zawiera istotne informacje, więc otrzymał własną kontrolę podpowiedzi (z zawartością mutliliny).Ukryj podpowiedź przyciętego pola wyboru

Jeśli formularz zostanie wystarczająco mały, tekst mojego pola wyboru zostanie obcięty (AutoEllipsis = true). Ale jeśli poruszę myszą nad tą kontrolką, otrzymam dwie etykiety narzędzi, które nakładają się na siebie. Pierwszy pokazuje pełny tekst skróconej checkbpox, a drugi pokazuje etykietkę dodaną w kodzie.

Zakładam, że pierwsza etykieta narzędzia jest spowodowana przez ustawienie właściwości AutoEllipsis na true? Co mogę zrobić, aby ta wbudowana podpowiedź nie była wyświetlana? Nie znalazłem żadnych właściwości, które mogłem przeciążyć lub coś takiego ... Jeśli to możliwe, chciałbym zachować właściwość AutoEllipsis, ponieważ obsługuje obcięcie zbyt dużego tekstu.

+0

See Włodzimierza odpowiedź na dole ponad [tutaj] (http://social.msdn.microsoft.com/Forums/windows/en-US/c05740de-a71a-4952-ac52-b72e9f323204/cannot-disable-a-tooltip-for-a -label) na forach MSDN dla jednego możliwego podejścia. –

+0

Dzięki za udostępnienie tego linku. Niestety nie działa to dla mnie, ponieważ odnosi się do etykiet, a nie pól wyboru. Próbowałem obu podejść wymienionych tam, ale wydaje się, że pola wyboru nie mają pola "showToolTip". – AlexS

Odpowiedz

1

Z Windows.Controls: Można może zastąpić metodę OnToolTipOpening aby anulować pierwszą podpowiedź

Z Windows.Forms: Można zastąpić metodę WndProc i traktować TTM_POPUP message

+0

Pytanie zostało oznaczone jako WinForm. – LarsTech

+1

Dzięki za odpowiedź, ale nie byłem w stanie dowiedzieć się, jaką wartość muszę zdefiniować dla TTM_POPUP. Nawet monitorowanie wiadomości w polu wyboru za pomocą Spy ++ nie pokazywało czegoś użytecznego. Sprawdziłem wszystkie wiadomości TTM_, ale nie są one wymienione w Spy ++. Czy masz pomysł, dlaczego? – AlexS