[ djmrky @ 11.05.2005. 07:46 ] @
Dakle, zelim da napravim najobicniji timer na formi, ali nece nikako da mi radi kako treba. Funkcija je otprilike sledeca (zelim da izbrojim koliko protekne vremena u drugoj foreach petlji dole): Code: private void btnAnalyzeAllOBJs_Click(object sender, System.EventArgs e) { foreach (ListViewItem lvi in lvOBJs.Items){ lvi.ForeColor = Color.Black; lvi.Selected = false; } timer1.Enabled = true; //ovde valjda startujem timer foreach (ListViewItem lvi in lvOBJs.Items){ Console.Out.WriteLine("Entered foreach"); sCurrentlySelectedOBJ = lvi.Text; sCurrentlySelectedOBJName = lvi.SubItems[1].Text; lviCurrentlySelected = lvi; gbStatistics.Refresh(); btnLoadData_Click(sender, e); //poziva se druga funkcija //koja, btw pristupa bazi (ako to ima veze) pbAllOBJsAnalysis.Value = lvi.Index + 1; } timer1.Enabled = false; //ovde kao zaustavljam timer namestio sam timer da radi tick svakih 500ms i u toj funkciji za timer menjam tamo neki label. Problem je u tome sto se ta funkcija uopste ne izvrsava svakih 500ms. U konkretnom slucaju, na nekih 10sec (od ulaska u petlju, program se zaustavlja i izbacuje neki moj dialog i u tom momentu (znaci kad se valjda suspendovao taj glavni thread) ona timer funkcija se izvrsava zaredom toliko puta koliko je vremena proslo i to na svakih 500ms. Probao sam cak i da napravim poseban thread u kom pokrecem timer (pa cak i da stavim visi prioritet tom thread-u, ali ne radi nikako, uvek se timer event izvrsava tek kad se program zaustavi u toj petlji GDE JA OVDE GRESIM? Pozdrav Dusan |