Ukrywanie zakładek

0

Witam Wszystkich :-)

Mam mały problem do rozwiązania. Moja aplikacja składa się z: 3 radioButtonów, tabControl1 a w nim 3 zakładki: tabPage1, tabPage2, tabPage3. Chodzi o to, że zaznaczając radioButton1 chciałbym aby była widoczna zakładka tabPage1,a niewidoczne stały się tabPage2 i tabPage3 w tabControl1 (znikneły całe zakładki, aby nie było widać nawet ich nazw aby to wygladało jakby tabControl1 składało się z jednej zakładki - tabPage1). Zaznaczając radioButton2 chciałbym aby tabPage2 stało się widoczne a tabPage1 i tabPage3 pozostaja niewidoczne, identycznie jak wyżej wspomniałem. Dla zaznaczonego radioButton3 tabPage1 i 2 niewidoczne a tabPage3 widoczne. Jak mogę to zrobić? Z góry dziękuję za odpowiedź :-)

Pozdrawiam,
batiaszka

0

a sie nie ta TabPage.Visible = false? jesli nie to w takim razie musisz te tabpage'e ktore chcesz ukryc usuwac z tabcontrol i trzymac na jakies liscie obok, zeby w razie czego przywrocic.. ale wydaje mi sie ze bycha bylo Visible po prostu

0

Sprobuj TabControl.TabPages[i].Visible = false;

//uprzedziles mnie 'Wezu' :)

0

Problem jest w tym ze "Visible" nie jest dostępne :-/

batiaszka

0

A jak stosujesz, ze nie jest dostepne? MSDN twierdzi, ze to niemozliwe :P

0

Nie jest dostępna funkcja Visible po tabPages[i] w menu które się automatycznie pojawia z podpowiedziami

batiaszka

0

Olej menu, kompilator jest wazny - jaki blad wypisuje, jak starasz sie skompilowac?

0

to prawda, takie cos jak pisze batiaszka jest mozliwe. otoz takie Control definiuje public bool property Visible {get;set;}, a nie ktore klasy dziedziczace po nim tego pola "nie maja". jest tak tez z wieloma innymi propertiesami a nawet metodami czy typami danych. odziedziczone a w dziecku nie ma. dowcip nie?

otoz w .Net jest takie cos jak 'A'trybuty klas, metod, propertiesow i pol. przed metoda np. mozna dac [WebMethod] i staje sie ona widoczna z poziomu webservice'ow, normalka przy .asmx. I istnieje sobie taki jeden czaderski atrybut: [EditorBrowsable(EditorBrowsableState.Never), Browsable(false)], ktory jak sobie ustawisz na czyms, to to cos ..... znika z designera. Puff, nie ma. Pierwszy: EditorBrowsable powoduje znikniecie z 'wlasciwosci'. Drugi - powoduje znikniecie z intellisense (podpowiadacz).

przykladowo, TabPage ma takie cus (wyciagniete prosto z systemu z pomoca boskiego narzedzia 'Reflector'):

    [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
    public event EventHandler VisibleChanged;

    [EditorBrowsable(EditorBrowsableState.Never), Browsable(false)]
    public bool Visible { get; set; }

Nie widac ich, ale istnieja i w dodatku sa public - bo dziedziczenie po Control mowi jasno ze musi byc. po prostu designer tego nie pokazuje. Tak wiec nie wierz Batiaszko designerowi, napisz tabPages[i].Visible=false i zobaczysz ze sie skompiluje. Pytanie, czy zadziala tak jak potrzeba, ostatecznie po cos te metode schowali..

0

Już jest okey :-) , wielkie dzięki za helpa [browar]

Pozdrawiam,
batiaszka

0

No właśnie ja już się męcze z tym od dł€ższego czasu bez rezultatu. Można użyć tabpage.Visible=false ale to nie wiele daje, bo tylko na chwile ukrywa zawartość zakładki ale nie ukrywa jej całej, działa tak samo jak Hide() czyli do bani :( czy ktoś sobie z tym poradził?

0

http://weblogs.asp.net/rajbk/archive/2007/03/04/editorbrowsable-editorbrowsablestate-never-shows-up-in-intellisense.aspx

wyjasnienie jak dziala EditorBrowsable- w moim poscie wyzej jest czeski blad (EditorBrowsable<->Browsable), nie poprawiam juz starocia... Poza tym, warto wiedziec, ze to dziala jedynie na "klientow Twojego assembly"

1 użytkowników online, w tym zalogowanych: 0, gości: 1