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 :

Probleme VB [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 14
    Par défaut Probleme VB
    Salut tous le monde
    J'ai un petit problème ! Je suis débutant et je veux apprendre la langage vb !
    Mon problème est que j'ai de "form" ! je veux que après que la valeur de "progress bar" atteint 100 ,l'application passe automatiquement au 2éme "form" sans cliquer sur le bouton une autre fois ! Voila le script ... quelle sont les fautes ? car quand je lance l'application , elle se plante en cliquant sur le bouton ! (J'utilise vb 2010)
    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
    Public Class Form1
     
     
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
        End Sub
     
     
     
     
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            ProgressBar1.Increment(10)
            Timer1.Interval = (1)
     
        End Sub
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Timer1.Start()
     
            Dim i As Integer
            ProgressBar1.Value = i
            Do Until i = 100
                If ProgressBar1.Value = 100 Then
                    Form2.Show()
     
                End If
            Loop
     
     
     
     
        End Sub
     
    End Class

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    un thread n'exécute qu'une sub à la fois, chacune leur tour
    pendant le do loop, ca ne fait rien d'autre, donc le tick du timer n'est pas appelé, donc le progressbar ne bouge pas, donc ca boucle à l'infini

    button.click : timer.start
    timer.tick : incrément, if value >= 100 then timer.stop et form2.show et me.close

    après avant de coder il faut lire tout ca :
    http://plasserre.developpez.com/cours/vb-net/
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Inactif
    Homme Profil pro
    Auteur logiciels et romans
    Inscrit en
    Février 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Auteur logiciels et romans
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Février 2009
    Messages : 203
    Par défaut
    Citation Envoyé par zodiag Voir le message
    ... je veux que après que la valeur de "progress bar" atteint 100 ,l'application passe automatiquement au 2éme "form" sans cliquer sur le bouton...

    Bonjour,

    Voici, code testé :


    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
     
    Option Explicit On
    Public Cs Form1
      Dim va As Integer = 0
     
      Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ProgressBar1.Minimum = 0
        ProgressBar1.Maximum = 100
        ProgressBar1.Value = 0
        Timer1.Interval = 50
        Timer1.Enabled = False
      End Sub
     
      Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Enabled = True
      End Sub
     
      Sub Timer1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        ProgressBar1.Value = va
        va = va + 5
        If va > 100 Then
          Timer1.Enabled = False
          Form2.Show()
        End If
      End Sub
     
    End Class

  4. #4
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 14
    Par défaut
    Merci Pol63
    Merci Ehjoe
    ça marche bien !

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

Discussions similaires

  1. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  2. Réponses: 2
    Dernier message: 30/05/2002, 08h54
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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