Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.098 pregleda

Najnovija ↓

C# pomoc oko progress bar. 14.02.2009. u 04:18 · pre 215 meseci #1
Kako da za CommandButton "Klik" napravim, da kada se klikne na njega, u jednom textbox-u se ispise "nesto" ali tek nakon recimo 3 minute, a da za te tri minute dok se to "nesto ne pojavi ide progress bar linija, "loading"?
Nadam se da sam pitanje postavio dovoljno jasno i da ce neko moci da mi odgovori
Hvala Unaprijed
Potpis
OZ
Re: C# pomoc oko progress bar. 14.02.2009. u 06:00 · pre 215 meseci #2
U .Net-u taj tip kontrole se zove je Button. Napravi dva tajmera, jedan tajmer ce da pomera ProgressBar u intervalu koji ti zelis, a drugi ce da se okine na 3 minute. Taj durgi tajmer koji se okine na 3 min. ce ujedno da upise tekst u TekstBox i da zaustavi prvi tajmer.
Potpis
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
Re: C# pomoc oko progress bar. 14.02.2009. u 14:51 · pre 215 meseci #3
Pretpostavljao sam da je tako...da li bi mogao da mi posaljes jedan takav primjer, mnogo bi mi znacilo, ja sam apsolutni pocetnik pa ne bi to znao da uradim.
Ako ne, hvala u svakom slucaju
Potpis
OZ
Re: C# pomoc oko progress bar. 14.02.2009. u 16:26 · pre 215 meseci #4
Ubaci na formu jedan progressBar i jedan button, dodaj event za Click na taj button i ubaci ovo.

Code:

private const Int32 PROGRESS_INTERVAL = 5000;
private const Int32 TIMEOUT = 60000;

private System.Threading.Timer m_tmrProgress, m_tmrTimeout;

private void button1_Click(object sender, EventArgs e)
{
    progressBar1.Maximum = TIMEOUT / PROGRESS_INTERVAL;

    m_tmrProgress = new System.Threading.Timer(this.ProgressCallback, null, 1, PROGRESS_INTERVAL);
    m_tmrTimeout = new System.Threading.Timer(this.TimeoutCallback, null, TIMEOUT, 0);

}

private delegate void IncrementTimerDelegate(int i);
private void IncrementTimer(int i)
{
    progressBar1.Increment(i);
}

private void ProgressCallback(object state)
{
    this.Invoke(new IncrementTimerDelegate(this.IncrementTimer), new object[] { 1 });
}

private void TimeoutCallback(object state)
{
    m_tmrProgress.Dispose();
    m_tmrTimeout.Dispose();
}



I zapamti: kada ostanes bez novca, zena te napusti, deca te vise ne zovu, a prijatelji okrenu ledja - MSDN ce uvek biti tu da ti pomogne ;)
Potpis
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
Re: C# pomoc oko progress bar. 14.02.2009. u 17:50 · pre 215 meseci #5
Mnogo ti hvala, mislim da sam upravo to trazio...samo jos jedno pitanje...sta je sad sa textbox1...kako sad da se tu za odredjeni vremenski interval ispise text "nesto"?
Hvala jos jednom
Potpis
OZ
Re: C# pomoc oko progress bar. 14.02.2009. u 18:36 · pre 215 meseci #6
Isto kao sto je iz ProgressCallback metode pozivana metoda preko delegata koja inkrementira progressbar, samo sto ce ova naravno biti u TimeoutCallback metodi i smestace tekst u textbox. Ako ti napisem kako, neces nista nauciti ;) Probaj, pomuci se malo, nije tesko (6 i manje linija koda), vec imas sve, maltene trebas da uradis copy+paste, pa ako budes imao problema - reci.
Potpis
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
Re: C# pomoc oko progress bar. 14.02.2009. u 19:18 · pre 215 meseci #7
Ok, predajem se,,,ne razumijem bas najbolje tu stvar sa delegatima..ali ako mi napises sigurno cu nesto nauciti...kao sto sam naucio i iz ovog sto si do sad napisao...i hvala ti na tome.
Potpis
OZ
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme