IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

timer dans une form [Débutant]


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 25
    Par défaut timer dans une form
    Bonjour ,

    Je souhaiterais intégrer dans une form, une barre de défilement et un timer.
    L'objectif est de définir le temps ou la form est active(a l'issu du temps la form se ferme) ,la barre de défilement permet visualiser l'évolution du temps.

    Pouvez-m'aider ?

    merci de votre expertise

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bah on comprend pas exactement ce que tu souhaites faire.
    Explique nous en details.

    Cordialment

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
        Private Sub frmFermeAuto_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ProgressBar1.Minimum = 0
            ProgressBar1.Maximum = 100 ' 100 fois
            ProgressBar1.Value = 0
            ProgressBar1.Step = 1
            Timer1.Interval = 100 ' 0.1 seconde
            Timer1.Start()
        End Sub
     
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            If ProgressBar1.Value >= 100 Then
                Timer1.Stop()
                Close()
            Else
                ProgressBar1.PerformStep()
            End If
        End Sub
    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 25
    Par défaut
    Bonjour,

    Exactement ce que je souhaitais, un énorme merci

  5. #5
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    Bonjour,

    alexandre1004, en effet la question n'est pas facilement compréhensible, mais il veut une form (peut-être du style d'une messagebox) qui se ferme toute seule au bout d'un certain temps s'il n'y a eu aucune action de la part de l'utilisateur.

    Voici un exemple en C#, je te laisse transposer en VB (car mes vieux souvenirs de VB sont loins, ça me prendrait trop de temps...).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    public partial class AutoCloseMessageBox : Form
        {
            protected Timer _autoCloseTimer;
            protected Timer _refreshGuiTimer;
            protected Stopwatch _chronometre;
            protected TimeSpan Duree
            {
                get
                {
                    return TimeSpan.FromMilliseconds(AutoCloseInterval);
                }
            }
            protected int AutoCloseInterval { get; set; }
     
            protected AutoCloseMessageBox()
            {
                _autoCloseTimer = new Timer();
                _refreshGuiTimer = new Timer();
                _chronometre = new Stopwatch();
                InitializeComponent();
            }
     
            protected override void OnLoad(EventArgs e)
            {
                base.OnLoad(e);
     
                progressBar1.Minimum = 0;
                progressBar1.Maximum = AutoCloseInterval;
                progressBar1.Value = 0;
     
                _refreshGuiTimer.Interval = 100;
                _refreshGuiTimer.Tick += (s, args) =>
                {
                    progressBar1.Value = (int)_chronometre.ElapsedMilliseconds + 1;
                    label2.Text = string.Format("Temps écoulé {0},  fermeture  automatique à {1}", _chronometre.Elapsed.ToString(@"ss\.ff"), Duree.ToString(@"ss\.ff"));
                };
     
                _autoCloseTimer.Interval = AutoCloseInterval;
                _autoCloseTimer.Tick += (s, args) => { this.Close(); };
     
                _chronometre.Start();
                _refreshGuiTimer.Start();
                _autoCloseTimer.Start();
     
            }
     
            protected override void OnClosing(CancelEventArgs e)
            {
                base.OnClosing(e);
                _refreshGuiTimer.Stop();
                _autoCloseTimer.Stop();
                _refreshGuiTimer.Dispose();
                _autoCloseTimer.Dispose();
            }
     
            public static DialogResult Show(Form pOwner, string pMessage, string pTitre, int pAutoCloseTime)
            {
                using (AutoCloseMessageBox msgbox = new AutoCloseMessageBox())
                {
                    if (pOwner != null)
                        msgbox.Owner = pOwner;
                    msgbox.Text = pTitre;
                    msgbox.label1.Text = pMessage;
                    msgbox.AutoCloseInterval = pAutoCloseTime;
                    return msgbox.ShowDialog(pOwner);
     
                }
            }
     
            private void button3_Click(object sender, EventArgs e)
            {
                _autoCloseTimer.Stop();
                _refreshGuiTimer.Stop();
                progressBar1.Value = 0;
                label2.Text = "Fermeture automatique annulée...";
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                DialogResult = DialogResult.OK;
                this.Close();
            }
     
            private void button2_Click(object sender, EventArgs e)
            {
                DialogResult = DialogResult.Cancel;
                this.Close();
            }
        }
    Voici le code du designer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
     partial class AutoCloseMessageBox
        {
            /// <summary>
            /// Required designer variable.
            /// </summary>
            private System.ComponentModel.IContainer components = null;
     
            /// <summary>
            /// Clean up any resources being used.
            /// </summary>
            /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
     
            #region Windows Form Designer generated code
     
            /// <summary>
            /// Required method for Designer support - do not modify
            /// the contents of this method with the code editor.
            /// </summary>
            private void InitializeComponent()
            {
                this.progressBar1 = new System.Windows.Forms.ProgressBar();
                this.button1 = new System.Windows.Forms.Button();
                this.button2 = new System.Windows.Forms.Button();
                this.label1 = new System.Windows.Forms.Label();
                this.label2 = new System.Windows.Forms.Label();
                this.button3 = new System.Windows.Forms.Button();
                this.SuspendLayout();
                // 
                // progressBar1
                // 
                this.progressBar1.Location = new System.Drawing.Point(12, 129);
                this.progressBar1.Name = "progressBar1";
                this.progressBar1.Size = new System.Drawing.Size(321, 17);
                this.progressBar1.TabIndex = 0;
                // 
                // button1
                // 
                this.button1.Location = new System.Drawing.Point(177, 174);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(75, 23);
                this.button1.TabIndex = 1;
                this.button1.Text = "OK";
                this.button1.UseVisualStyleBackColor = true;
                this.button1.Click += new System.EventHandler(this.button1_Click);
                // 
                // button2
                // 
                this.button2.Location = new System.Drawing.Point(258, 174);
                this.button2.Name = "button2";
                this.button2.Size = new System.Drawing.Size(75, 23);
                this.button2.TabIndex = 2;
                this.button2.Text = "Annuler";
                this.button2.UseVisualStyleBackColor = true;
                this.button2.Click += new System.EventHandler(this.button2_Click);
                // 
                // label1
                // 
                this.label1.AutoSize = true;
                this.label1.Location = new System.Drawing.Point(9, 35);
                this.label1.Name = "label1";
                this.label1.Size = new System.Drawing.Size(0, 13);
                this.label1.TabIndex = 3;
                // 
                // label2
                // 
                this.label2.AutoSize = true;
                this.label2.Location = new System.Drawing.Point(12, 113);
                this.label2.Name = "label2";
                this.label2.Size = new System.Drawing.Size(0, 13);
                this.label2.TabIndex = 4;
                // 
                // button3
                // 
                this.button3.Location = new System.Drawing.Point(12, 152);
                this.button3.Name = "button3";
                this.button3.Size = new System.Drawing.Size(165, 23);
                this.button3.TabIndex = 5;
                this.button3.Text = "Annuler Fermeture Automatique";
                this.button3.UseVisualStyleBackColor = true;
                this.button3.Click += new System.EventHandler(this.button3_Click);
                // 
                // AutoCloseMessageBox
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(349, 209);
                this.Controls.Add(this.button3);
                this.Controls.Add(this.label2);
                this.Controls.Add(this.label1);
                this.Controls.Add(this.button2);
                this.Controls.Add(this.button1);
                this.Controls.Add(this.progressBar1);
                this.Name = "AutoCloseMessageBox";
                this.Text = "AutoCloseForm";
                this.ResumeLayout(false);
                this.PerformLayout();
     
            }
     
            #endregion
     
            private System.Windows.Forms.ProgressBar progressBar1;
            private System.Windows.Forms.Button button1;
            private System.Windows.Forms.Button button2;
            private System.Windows.Forms.Label label1;
            private System.Windows.Forms.Label label2;
            private System.Windows.Forms.Button button3;
        }
    et l'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DialogResult resultat= AutoCloseMessageBox.Show(this, "coucou", "bonjour", 5000);
    Bon dév.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  2. Tabulation dans une form avec entrée
    Par Cl@rk dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/05/2008, 12h09
  3. [C#] Travailler efficacement avec les panels dans une forme
    Par WwiloO dans le forum Windows Forms
    Réponses: 8
    Dernier message: 27/06/2005, 15h33
  4. Utiliser un timer dans une application console
    Par chavers dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2005, 14h07
  5. Timer dans une feuille excel
    Par bbkenny dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 28/01/2005, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo