Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260

    Chiudere form in automatico dopo tot secondi

    Ciao a tutti.
    Ho la necessità di visualizzare il mio form per tot secondi e in modo tale che si chiuda da solo dopo.Ma non ci riesco e ho sempre bisogno della pressione di un pulsante di chiusura da parte dell'utente.

    Come potrei fare a chiudere la form dopo averla visualizzata con ShowDialog? avete idee o alternative?

    grazie 1000

  2. #2
    beh metti un timer nel form di n millisecondi (esempio 2000 per 2 secondi) e all'evento tick chiudi il form con Me.Close()

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260
    scusa forse non ti ho detto che sto usando Visual Studio 2005 con C#

    un esempio del mio codice, che pero' non funziona e si blocca sul showDialog() è:

    Form5 f5 = new Form5(b);
    f5.ShowDialog();
    Thread.Sleep(4000);
    f5.Close();


    come posso fare?

  4. #4
    Attenzione perchè ShowDialog blocca l'esecuzione del form chiamante, in altre parole quindi lo sleep e il close non lo puoi fare dalla form che chiama f5, ma lo devi fare da f5 stessa.

    il mio esempio andava bene anche per c#, cambia solo la sintassi

    in f5 crei un oggetto Timer (lo fai dal designer) imposti la sua proprietà Interval a 4000 (se vuoi 4 secondi).

    nel evento load di f5 fai lo start del timer con
    NomeTimer.Start();

    aggiungi l'evento Tick al timer in cui fermi il timer e aggiungi il codice di chiusura della form, ovvero:
    NomeTimer.Stop();
    this.Close();

    non ti serve altro.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260
    grazie sei stato molto gentile...purtroppo sto sviluppando su windows mobile 5 e 6, e per palmare c'è la classe Timer, ma non ha i metodi start() e stop()....
    come posso fare??

  6. #6
    non ho mai sviluppato su windows mobile, ma a giudicare da questo:

    http://msdn2.microsoft.com/en-us/lib...rt(VS.80).aspx
    (leggi fra le "platforms" in basso...)

    il metodo start è assolutamente supportato da windows mobile...

    fammi vedere che codice hai scritto, magari c'è un errore altrove

  7. #7
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    controlla che non ci sia

    enable -> come lo start solo che gli assegni true o false per farlo partire o stoppare

  8. #8
    ok ho verificato, effettivamente il metodo start e stop sono assenti ma come ha scritto stoicenko puoi far partire il timer con Enabled = true e fermarlo con Enabled = false

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260
    grazie 1000 funziona tutto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.