Mam formularz okna vb.net z około 15 comboboxes i 15 textbox, wraz z kilkoma innymi kontrolkami. Wszystkie te pola tekstowe i combobox znajdują się w panelach. Powodem tego jest konieczność dostosowania widocznej właściwości kontrolek w oparciu o to, co wybierze/wprowadzi użytkownik, więc grupowanie każdej etykiety i sterowanie razem we własnych panelach wydawało się łatwym sposobem na osiągnięcie tego. Ustawiłem kolejność kart przez właściwości, ale to nie działa. Kiedy przechodzę przez mój formularz, przeskakuje i nie jest zgodny z kolejnością tabulacji, którą ustawiłem. Czy to dlatego, że moje elementy sterujące znajdują się w osobnych panelach? Ustawiłem TabStop na wartość false dla wszystkiego, czego nie chcę, aby tabs był włączony, jestem nieco zdezorientowany tym, co się tutaj dzieje, wydaje się, że fakt, że moje pola combobox i textbox znajdują się wewnątrz ich paneli uniemożliwia mi Indeksy kart do działania. Czy ktoś może to potwierdzić lub mieć inne wyobrażenie o tym, co się dzieje? Indeks Tab działa po utworzeniu nowego formularza.Indeks kart nie działa z kontrolkami w panelach?
Odpowiedz
Wierzcie lub nie, panel zamawiania absolutnie DOES wpływa na TabIndex. Odkryłem, że najprostszym sposobem na uporządkowanie tabulatorów w formularzu wielopanelowym jest użycie polecenia Widok> Kolejność kart zgodnie z sugestią LarsTech. Następnie, po zaznaczeniu zakładki, zobaczysz, jak panele wpływają na ogólną kolejność elementów sterujących znajdujących się w każdym panelu. Następnie kliknij lewym przyciskiem kolejno poszczególne panele w kolejności, w której chcesz płynąć. Zauważysz, że będzie on następnie automatycznie zamieniał elementy sterujące wewnątrz każdego panelu, a ogólna kolejność paneli będzie zgodna z określoną przez Ciebie. Po wykonaniu tej czynności możesz kliknąć każdą kontrolkę wewnątrz każdego panelu, aby ustawić względną kolejność tabulatora w danym panelu.
Spróbuj użyć "Widok - kolejność tabulatora" w projektancie Visual Studio i kliknij każdy kontener i formant w żądanej kolejności. Istotny jest indeks tabulatora kontenera nadrzędnego (paneli).
Dzięki, próbowałem również, nadal nie ma kostki – TypeM1smatch
@EricJ Spróbuj odtworzyć problem w nowym małym projekcie. Jeśli możesz go odtworzyć, zmień to w swoim poście. – LarsTech
Prawidłowa odpowiedź. "Indeks zakładek kontenera rodzica (paneli) ma znaczenie" – fedeteka
Ustawienie TabStop na FALSE oznacza, że zostanie pominięte, gdy jego kolej będzie zawierała kolejność kart. Normalnie ustawiasz TabStop dla LABEL na FALSE, a wszystkie inne INTERAKTYWNE Kontrolki na TABSTOP = True (chyba że kontrola jest wyłączona poza kursem).
Nie przechodź z Tab do Tab. Twoje TabStop i Tab Order powinny być podobne do poniższej listy.
Name Parent TabOrder TabStop
=======================================================
Form - 0 -
TabStrip1 Form 1 True
Tab1 TabStrip1 2 True
Label1 Tab1 3 False
Textbox1 Tab1 4 True
Label2 Tab1 5 False
Combo1 Tab1 6 True
Tab2 TabStrip1 7 True
Label3 Tab2 8 False
Textbox2 Tab2 9 True
Label4 Tab2 10 False
Combo2 Tab2 11 True
Tab3 TabStrip1 12 True
Label5 Tab3 13 False
Textbox3 Tab3 14 True
Label6 Tab3 15 False
Combo3 Tab3 16 True
Dzięki za to Zaf. Myślę, że coś tu robisz. Dam to dziś wieczór i zobaczę, czy mogę dowiedzieć się, gdzie się znalazłem – TypeM1smatch
Znalazłem, że musisz spojrzeć na indeks KAŻDEJ tablicy dla każdej kontroli i grupowania kontrolek (pole grupy, panel, cokolwiek). W przeciwieństwie do Classic VB, .Net nie aktualizuje dla Ciebie wszystkich pozostałych indeksów tabulacji. Możesz mieć dowolną liczbę elementów sterujących, korzystając z tego samego indeksu kart na formularzu, panelu lub innym typie grupowania.
BTW, dla tych, którzy napisali element menu Widok - kolejkowa, dziękuję. Nie wiedziałem, że tam jest i pomogło mi to niezmiernie poprawnie zamówić formularz, który mam z wieloma zagnieżdżonymi polami grupowymi. To było doskonałe narzędzie do przeglądania kolejności kart. Jeśli używasz tego, pamiętaj, aby zwracać uwagę na każdy poziom zagnieżdżenia.
"BTW, dla tych, którzy napisali element menu" Widok - kolejność ", dziękuję.Nie wiedziałem, że tam jest i pomogło mi to niezmiernie poprawnie zamówić formularz, który mam z wieloma zagnieżdżonymi polami grupowymi. To było doskonałe narzędzie do przeglądania kolejności kart. Jeśli używasz tego, pamiętaj, aby zwracać uwagę na każdy poziom zagnieżdżania. "To samo tutaj! Naprawdę ładne narzędzie – fedeteka
Ustawianie właściwości TabStop i TabIndex zwykle wystarcza. Jeśli to nie działa, sprawdź wszystkie zdarzenia w formularzu, w których może występować kod zakłócający ustawienie kontroli. – LarsTech
Dzięki za sugestię, ale w moim kodzie nie ma nic, co ma wpływ na skupienie kontroli – TypeM1smatch
Używanie tabeli, którą narysowałem poniżej jako szablonu ..... Wypełnij ją swoimi TABSTOPS i TABORDER i spróbuj LISTA WSZYSTKICH kontroli forma. – Zeddy