Gå til innhold

C#: SelectedTab og sjekk av dette i en TAB Control


Anbefalte innlegg

Folkens:

Sett at man har en TabControl plassert med la oss si 5 pre designede tabs.

Koden for å finne hvilken tab som er valgt er jo slik:

switch (TheTab.SelectedIndex)
{
   case 0:  // Første TAB
       ....
   case 1:  // Andre Tab
   o.s.v.
}

Men sett at programmet inneholder omorganisering samt muligheten til å legge til nye tabs. Hvordan skal man da kunen finne rett tab?

Jeg prøvde SelectedTab uten hell:

switch (TheTab.SelectedTab)
{
   case tabEnTab:
       // tabEnTab er valgt
       .....
   case tabEnAnnenTab:
   etc...
}

Dette feiler allerede før kompillering med dette:

Error 5 A switch expression or case label must be a bool, char, string, integral, enum, or corresponding nullable type

 

Så folkens. Hvordan ville dere gjort dette?

Lenke til kommentar
Videoannonse
Annonse

Aller helst burde du vel redesigne akkurat det prøver å få til. Personlig er jeg mer av den oppfatning at om du bruker Tag, så har du gjort noe grunnleggende feil. Du kan ofte komme deg ganske enkelt ut av en slik switch setning ved f.eks implementere metodene som skal kjøres direkte på objektet du switcher på. Altså...noe slik som:

 

public interface ISwitchableObject{void DoStuff();} //implementer på TabObject

 

var obj = TheTab.SelectedItem as ISwitchableObject;

obj.DoStuff();

 

Koden som du har i de forskjellige case delene kan du putte inn i DoStuff metoden istedetfor.

 

Er selvfølgelig ikke alltid dette passer...men et tips å ta med på veien i alle fall :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...