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
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
She's nice from a far, but far from nice.