C# et timer

Fermé
lola - 17 mai 2010 à 19:31
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 17 mai 2010 à 22:29
Bonjour,

Je ne connais pas bien les timers et je voudrais savoir comment faire
pour afficher une messagebox tout les 30 secondes ?

pour le moment j'ai mis mon timer1 dans le form.

j'ai donc :

timers.Interval = 30000;

et MessageBox.Show("Tout les 30 secondes j'apparai");


mais je ne sais pas comment faire pour la suite ?
A voir également:

1 réponse

chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
Modifié par chuka le 17/05/2010 à 22:42
Salut,
Pourquoi veux tu utiliser une messagebox et non une autre form....??(si tu veux absolument une messagebox, je pense qu'il faudra alors passer par les API windows afin d'obtenir le handle de la fenetre...)
https://forum.hardware.fr/hfr/Programmation/CNET-managed/boite-dialogue-tempo-sujet_54387_1.htm
sinon tu peux t'inspirer de cela...
public partial class Form1 : Form
    {
        bool isopen=false;
        Form2 m = new Form2();
        public Form1()
        {
            InitializeComponent();
            timer1.Interval = 30000;
            timer1.Start();

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (!isopen)
            {
                isopen = true;
                timer1.Interval = 4000;
                m.Show();
                m.setLabel("Je m'affiche toutes les 30s");        
                
            }
            else
            {
                isopen = false;
                m.Hide();
                timer1.Interval = 30000;
            }
        }

    }

et form2
public delegate void AddLabelDelegate(string m); 
    public partial class Form2 : Form 
    { 
        public Form2() 
        { 
            InitializeComponent(); 
        } 
        public void setLabel(string text) 
        { 
            if (label1.InvokeRequired) 
                Invoke(new AddLabelDelegate(setLabel), text); 
            else 
                label1.Text = text; 
        } 
    } 

@+

Ce n'est pas parce que certaines choses semblent inexplicables, qu'il faut faire semblant de les expliquer!
0