Hei
En ole varmo onko ongelma nimenomaan tabcontrolleissa, mutta en keksinyt muuta otsikkoa kun en tiedä missä vika....
Eli supistettuna: ohjelmassani on MenuStripe, jossa kaksi vaihtoehtoa TAB1 ja TAB2.
Ohjelman käynnistyessä esillä on TabControlli nimeltään tab1, jossa kolem välilehteä. Kun valitsen MenuStripestä TAB2, muuttuu TAB1 pieneksi, näkymättömäksi ja siirtyy sivuun. Tämän jälkeen tabcontrolli TAB2, muuttu näkyväksi ja sijainti siirtyy (0,0) kohtaan ja tulee näkyväksi. Eli TAB1 tai TAB2 saadaan esille....
Ongelma on nyt se, että kun olet TAB2:s, jollain välilehdellä niin noin 2minuutin kuluttua TAB2 menee piiloon ja TAB1 tulee esille, ensimmäinen välilehti valittuna.
Ohjelmassa on myös ajastimia, mutta niiden interval ei ole 120:ntä ja olen kokeillut ilman ajstimia, mutta sama TAB1 esiin tulo toistuu.
Tämä TAB1 esiin tulo tapahtuu melko tarkasti 2 minuutin välein riippumatta siitä teen ohjelmalla jotain vai odotanko tekemättä mitään. Jos olen TAB1:sen välilehdellä 2 tai 3 niin sama tapahtuma 2 minuutin kuluttua laittaa ensimmäisen (0) välilehden esille.
Ei pysty ymmärtää mistä on kyse ja en keksi mistä ongelmaa alkaisin selvittämään....
Onko kenelläkään ollut vastaavanlaisia ongelmia TabControllien kanssa tai ohjelman "omatoimisuuden" kanssa..
Jokke
Moikka taas jokke568!
kokeile oheisen mallin mukaista viritelmää...
Public Partial Class MainForm Public Sub New() Me.InitializeComponent() End Sub Sub MainFormLoad(sender As Object, e As EventArgs) Me.tabControl2.Enabled = True Me.tabControl1.Enabled = False SelectTab End Sub Sub TAB1ToolStripMenuItemClick( _ sender As Object, e As EventArgs) If Not Me.tabControl1.Enabled Then SelectTab End If End Sub Sub TAB2ToolStripMenuItemClick( _ sender As Object, e As EventArgs) If Not Me.tabControl2.Enabled SelectTab End If End Sub Sub SelectTab() For Each ctl As Control In Me.Controls If TypeOf(ctl) Is TabControl Then ctl.Enabled = Not ctl.Enabled If ctl.Enabled Then ctl.Left = 0 Else ctl.Left = 0 - ctl.Width End If ctl.Top = Me.menuStrip1.Height + 1 End If Next End Sub End Class
Hei Nea
Suuri kiitos taas, että olet käyttänyt aikaasi ongelmieni ratkomiseksi.
Rupean tutkimaan koodipätkäsi ratkaisua ongelman ratkaisemiseksi.
Olen kokeillut tab1 ja tab2 toimintoa pelkistetyssä ohjelmassa jossa vain tabin näkyviin vaihto samalla tyylillä kuin ongelma ohjelmassa. Kokeilussani tab1 ei pongahda esiin parin minuutin jälkeen, joten ongelma lienee jossain muussa.
Edelliseen viestiin jäi mainitsematta, että kun tab1 tulee väkisin esille ja välilehti 0 on näkyvillä. Sama ongelma on jos, olen tab1:n jollain muulla välilehdellä niin 2 minsan jälkeen välilehti 0 tulee esille. Välilehdelle jää myös tekstiä/merkkejä "haamuna" välilehden taustalle, välilehdellä on listbox, jonka päälle ei jää mitään tekstiä edellisestä tab-välilehdestä....
Koodista kysyisin vielä yhden hölmön asian... Mitä tekee toiminto InitializeComponent...?
Hei
Ongelma ratkesi.
Lisäsin uuden tabcontrollin ja siirsi näppäimet yms uudelle tabille, poistin vanhan tabin ja nyt toimii.
Ihme juttu...
Jokke
Aihe on jo aika vanha, joten et voi enää vastata siihen.