++ oznacza zwiekszenie o 1 (w Delphi Inc jak kojarze). Do tego ++ przed zmienna oznacza, ze najpierw wystapi zwiekszenie, pozniej reszta operacji (tutaj porownanie z wartoscia 100). ++ po zmiennej zwieksza po obliczeniu reszty.
Return ze wzgledow estetycznych, identyczny efekt da taki kod:
if (++progressBar1.Value >= 100)
{
timer1.Enabled = false;
main form = new main();
form.Show();
}
ale ja wole tamten sposob, bo tu sie nie bawie w klamry i caly blok instrukcji. Kod z return oznacza, ze w razie gdy zmienna jest mniejsza od 100 (ale juz zwiekszona bo jest ++) to konczymy metode. W przeciwnym wypadku idziemy dalej i robimy to co napisane ponizej.
W Twojej pierwszej petli miales blad logiczny bo robiles += i; A i zwiekszalo sie za kazdym obiegiem petli. To oznacza, ze po zakonczeniu calej petli wartosc progressa to suma pierwszych 11 elementow ciagu arytmetycznego a0 = 0; a(n+1) = an + 1. Poza tym robiles to w jednej petli (co komputer wykonuje w mgnieniu oka), wiec nie bylo widac efektu przesuwania paska - bo trzeba bylo poczekac na kolejne wywolanie timera. Tak jak w przypadku mojego kodu wartosc zwiekszana o 1 za kazdym tickiem.