CerrUnozZ Skrevet 9. oktober 2008 Del Skrevet 9. oktober 2008 Jeg har en tabcontrol med 20 sider, jeg trenger hjelp med å kunne legge til å fjerne sider avhengig om jeg vil bruke dem eller ei runtime. noen som er snille og kan hjelpe meg med det? Lenke til kommentar
CerrUnozZ Skrevet 10. oktober 2008 Forfatter Del Skrevet 10. oktober 2008 Det ser dessverre ikke ut som om du har forstått mitt problem. Jeg ønsker ikke legge til "nye" faner, jeg ønsker å gjemme de eksisterende så de ikke er synlig om jeg ikke skal benytte de funksjoner som ligger der. Slik at jeg f.eks kan gå inn i en avmerkningsliste å legge til eller fjerne avmerkning ved de faner jeg har som jeg ønsker å benytte. Lenke til kommentar
Manfred Skrevet 10. oktober 2008 Del Skrevet 10. oktober 2008 (endret) Ja? Du må jo legge de til og fjerne de fra tab controlen. Du trenger jo ikke drepe de forde. Så jeg vil heller si: Det ser dessverre ikke ut som om du har forstått hvordan det funker. Endret 10. oktober 2008 av Manfred Lenke til kommentar
CerrUnozZ Skrevet 10. oktober 2008 Forfatter Del Skrevet 10. oktober 2008 Nå har jeg laget en form med checkbokser legger da inn kode som ser noe slik ut: Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged If Me.CheckBox1.Checked = True Then Form1.TabPage2.Enabled = True Else Form1.TabPage2.Enabled = False End If End Sub Jeg har importert Form1 Men hvordan får jeg evt oppdatert Form 1 så jeg ser om endringen fungerer? Lenke til kommentar
CerrUnozZ Skrevet 10. oktober 2008 Forfatter Del Skrevet 10. oktober 2008 Og jeg må jo seff få oppdatert tabcontrollen samtidig ;-) Lenke til kommentar
CerrUnozZ Skrevet 10. oktober 2008 Forfatter Del Skrevet 10. oktober 2008 har nå forsøækt en ny kode som sier: Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged If Me.CheckBox1.Checked = True Then Form1.TabControl1.Controls.Add(Form1.TabPage2) Else Form1.TabControl1.Controls.Remove(Form1.TabPage2) End If End Sub Men det ser ikke ut som om jeg får oppdatert programmet. Jeg har og lagt til en knapp som har følgende kode: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form1.TabControl1.Update() Form1.Update() End Sub Men det ser ikke ut til å fungere.. Hva er det jeg gjør galt her? Lenke til kommentar
HDSoftware Skrevet 13. oktober 2008 Del Skrevet 13. oktober 2008 har du prøvd .VISIBLE ? Lenke til kommentar
Manfred Skrevet 13. oktober 2008 Del Skrevet 13. oktober 2008 Det er litt feil å bruke Visible. Du kan bare ha alle tabvinduene i en slags tab collection, og så adder du og remover de fra tabcontrolen når de skal vises eller skjules. Det er mer "riktige" måten å gjøre det på. Lenke til kommentar
HDSoftware Skrevet 13. oktober 2008 Del Skrevet 13. oktober 2008 Det er litt feil å bruke Visible. Du kan bare ha alle tabvinduene i en slags tab collection, og så adder du og remover de fra tabcontrolen når de skal vises eller skjules. Det er mer "riktige" måten å gjøre det på. Uhm, du har rett. Sjekket akkurat på en TAB kontroll og tabbene har ingen VISIBLE. Da er jeg enig med deg. Man må behandle dette som en collection. Burde jo være enkelt å kopiere disse man lager i design time til en egen collection for så å manipulere TAB Controllens egne collection runtime. Lenke til kommentar
CerrUnozZ Skrevet 14. oktober 2008 Forfatter Del Skrevet 14. oktober 2008 Kan du være snill å gi meg et kort eksempel på hvordan det gjøres? Lenke til kommentar
HDSoftware Skrevet 14. oktober 2008 Del Skrevet 14. oktober 2008 Kan du være snill å gi meg et kort eksempel på hvordan det gjøres? Aldri gjort det før, men sjekk ut List<t> og SortedList<t,T> for litt mere info på dette så tenker jeg du kommer i mål. Lenke til kommentar
GeirGrusom Skrevet 15. oktober 2008 Del Skrevet 15. oktober 2008 Du lager en Liste (List<T> som HDSoftware sier) som skal representere alle eksisterende tab-er List<TabPage> m_pages; Etter at InitializeComponents i constructoren til formen er kalt, må du først hente alle tab-kontrollene m_pages = new List<TabPage>(MyTabControl.TabPages); Deretter må du bare bygge opp tab-listen på nytt hver gang den skal endres, sånn at kun de du er interessert i vil legges i TabPages på Tab-kontrollen din. Lenke til kommentar
CerrUnozZ Skrevet 15. oktober 2008 Forfatter Del Skrevet 15. oktober 2008 Jeg fosøker nå med 2 forskjellige kommandoer: Jeg har satt opp en checkbox som skal signalisere om tab skal skrus av eller ei. If Me.CheckBox1.Checked Then Form1.TabControl1.TabPages.Remove(Form1.TabPage2) Form1.TabControl1.Controls.Remove(Form1.TabPage2) Men ingen av dem ser ut til å fungere. Feg forsøker og med If Me.CheckBox1.Checked Then Form1.TabControl1.Update() Form1.TabControl1.Refresh() Men uten hell jeg la også til Form1..Refresh() uten at dette hjalp. Hvordan får jeg endringene til å skje? Dette ligger da i en metode som jeg henter med en knapp Lenke til kommentar
CerrUnozZ Skrevet 15. oktober 2008 Forfatter Del Skrevet 15. oktober 2008 Når jeg legger kommandoen: Me.TabControl1.TabPages.Remove(Me.TabPage2) I funksjonen til en knapp fungerer det glimrende Men når jeg legger den i en knappefunksjon i en annen form slik: Form1.TabControl1.TabPages.Remove(Form1.TabPage2) Så fungerer den ikke. Noen som vet hvorfor? Lenke til kommentar
GeirGrusom Skrevet 15. oktober 2008 Del Skrevet 15. oktober 2008 Ja, men vet du hva referanser og slikt er for noe? VB lar deg ignorere noe av dette for å gjøre det enklere å programmere, men i ettertid kan dette sees på som en bjørnetjeneste. Du må vite at dersom du initialiserer et objekt så er ikke det objektet lik Form1 osv. VB er veldig uklar på dette for nybegynnere, en av grunnene til at VB er et møkkaspråk. Lenke til kommentar
CerrUnozZ Skrevet 16. oktober 2008 Forfatter Del Skrevet 16. oktober 2008 Jeg er dessverre ikke så meget inneforstått med det nei, Kan du hjelpe meg litt på vei? Lenke til kommentar
HDSoftware Skrevet 16. oktober 2008 Del Skrevet 16. oktober 2008 Jeg er dessverre ikke så meget inneforstått med det nei, Kan du hjelpe meg litt på vei? Det han sier er at du må lære deg OOP for å få en forståelse av dette. Det betyr at du må skjønne begreper som klasser, referanser og instanser. Lenke til kommentar
Manfred Skrevet 17. oktober 2008 Del Skrevet 17. oktober 2008 Det er faktisk fullstendig umulig å forklare det så lenge du ikke har en forståelse for klasser, referanser og instanser, som Ole sier. Lenke til kommentar
CerrUnozZ Skrevet 19. oktober 2008 Forfatter Del Skrevet 19. oktober 2008 Jeg har laget et par metoder: Public Sub Tab2() TabControl1.TabPages.Insert(1, TabPage2) TabControl1.Refresh() End Sub Public Sub Tab21() Me.TabControl1.TabPages.Remove(TabPage2) End Sub For å legge til å fjerne et av vinduene. De er laget globale. Deretter forsøker jeg å kjøre de fra et annet vindu med spørringen: rivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form1.Tab2() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Form1.Tab21() End Sub Men det fungerer heller ikke. Jeg vet jeg er inne på noe men det er tydeligvis et eller annet jeg mangler. Kan dere være snille å se på det en gang til for meg? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå