Witam! Mam obok siebie dwa textboxy. Jest taka opcja, żeby przy przewijaniu pierwszego drugi sam się przewijał? Bo to są tak jakby kolumny z danymi i chciałbym, żeby wiersze o tych samych numerach zawsze były na tej samej wysokości.
Jeżeli chodzi o WinForms to .NET wysyła do kontrolki wiadomość o numerze WM_USER + 7441
, gdy użytkownik zescrolluje tekst za pomocą klawiatury, przeciągnięcia zaznaczenia myszką albo klikając na przyciski scrollbara. Gdy przeciągnie cały scrollbar, wysyła tylko VM_VSCROLL
.
Musisz napisać własną klasę dziedzicząc po oryginalnym TextBoksie przeładowując WndProc
i reagując na powyższe wiadomości wystawić np. event Scrolling
. W formie go odbierzesz i już za pomocą .NETowych metod możesz zmienić pozycję w drugim TextBoksie (np. za pomocą SelectionStart
i ScrollToCaret
albo samemu wysyłając wiadomość WM_VSCROLL
, jeżeli nie chcesz zmieniać pozycji karetki).
No faktycznie zapomniałem dokładnie napisać. Piszę w Visual Studio 2005 Express C#. Czyli nie da się tego jakoś prościej zrobić?
No niestety, czasem w programowaniu trzeba zrobić coś więcej niż przeciągnięcie kontrolki z toolboksa.
Sarrus napisał(a)
Ale w czym piszesz dokładnie? WinForms?
Pytacz napisał(a)
No faktycznie zapomniałem dokładnie napisać. Piszę w Visual Studio 2005 Express C#.
- Jaki masz komputer?
- Szary.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.