2011-11-29 19 views
6

Używam zdarzenia TabControl_SelectedIndexChanged, gdy użytkownik zmienia karty. TabControl.SelectedIndex/TabControl.SelectedTab zwraca tylko nową kartę. Czy jest jakiś sposób, aby uzyskać poprzednią kartę? Czy muszę trzymać się oczywistego magazynu bieżącej karty za każdym razem, gdy zmieniam karty?TabControl Anuluj zmianę kart

Chcę tego użyć, aby anulować zmianę kart pod pewnymi warunkami, np. Niezapisane zmiany.

+0

Będziesz musiał przechowywać go przy każdej zmianie ... na początku 'SelectedIndexChange', którą właśnie przechowujesz ... Nie ma innej drogi:/ –

Odpowiedz

15

Jeśli chcesz anulować zmianę karty, możesz użyć zdarzenia Deselecting. Tam możesz anulować zmianę, ustawiając właściwość Cancel z podanej TabControlCancelEventArgs na true.

+3

I użyj 'Wybór', jeśli chcesz wyświetlić podgląd zakładki, która ma zostać wybrana, i chcesz móc ją anulować. –