[ Oz1708 @ 14.02.2009. 03:18 ] @
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
[ dusty @ 14.02.2009. 05:00 ] @
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.
[ Oz1708 @ 14.02.2009. 13:51 ] @
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
[ dusty @ 14.02.2009. 15:26 ] @
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
[ Oz1708 @ 14.02.2009. 16:50 ] @
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
[ dusty @ 14.02.2009. 17:36 ] @
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.
[ Oz1708 @ 14.02.2009. 18:18 ] @
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.