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 :

Problème de listbox


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Services de proximité

    Informations forums :
    Inscription : Août 2012
    Messages : 74
    Par défaut Problème de listbox
    Bonjour à tous,

    J'ai créé sous visual studio 2010 en vb.net un programme qui me permets de convertir des fichiers audio. Mon souci, c'est qu'il ne rafraichit pas la fenêtre à la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.SelectedIndex = compte
    Voici mon code:
    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
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim dir, Param, tmp, tmp1 As String
            Dim listFile(), ListeFichier, fichier, Fichier1 As Object
            Dim compte As Integer
            On Error Resume Next
            For compte = 0 To ListBox1.Items.Count - 1
                Me.Activate()
                Me.Focus()
                ListBox1.SelectedIndex = compte
                Me.Refresh()
                Delay(500)
                Label7.Text = Repertoire.Text & "\" & ListBox1.SelectedItem.ToString
                dir = Label7.Text & "\audio"
                listFile = Directory.GetFiles(dir, "*.wav")
                If listFile.Length <> 0 Then
                    For Each fichier In listFile
                        Dim file As New FileInfo(fichier)
                        tmp1 = file.DirectoryName
                        If tmp1 <> tmp Then
                            tmp = tmp1
                            Param = " -convert -addfolder " & Chr(34) & dir & Chr(34) & " -format .ogg -outfolder " & Chr(34) & dir & Chr(34) & " -overwrite ALWAYS -hide"
                            Shell("C:\switch\switch.exe " & Param, AppWinStyle.NormalFocus, False)
                            Shell("C:\switch\switch.exe " & " -clear -hide", AppWinStyle.NormalFocus, True)
                        End If
                    Next
                    ListeFile = Nothing
                End If
            Next
            Shell("C:\switch\switch.exe " & " -hide -exit", AppWinStyle.NormalFocus, True)
            If listFile.Length <> 0 Then
                For Each fichier In listFile
                    Dim file As New FileInfo(fichier)
                    System.IO.File.Delete(file.DirectoryName & "\" & file.Name)
                Next
                ListeFile = Nothing
            End If
        End Sub
        Private Sub Delay(ByVal Temps As Integer) 'Ne renvoie rien
            Dim lngEndingTime As Long
            lngEndingTime = GetTickCount() + (Temps)
            Do While GetTickCount() < lngEndingTime
            Loop
        End Sub
    End Class
    Merci a vous de bien vouloir me venir en aide et bonne journée à tous!

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    C'est parce que le thread graphique est occupé à exécuter ton traitement, et n'est donc pas libre pour rafraichir l'affichage. Il faut soit exécuter le traitement dans un autre thread, soit appeler Application.DoEvents() dans ta boucle pour permettre aux évènements Paint d'être traités (la 2e option est plutôt une rustine, mais ça a l'avantage d'être rapide à mettre en place).

  3. #3
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    tu peux utiliser backroundworker

Discussions similaires

  1. [VBA-E] Problème de ListBox
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/06/2007, 10h42
  2. Problème de listbox
    Par lulux80 dans le forum VB 6 et antérieur
    Réponses: 33
    Dernier message: 28/02/2007, 16h45
  3. [c#]Problème chargement ListBox
    Par Filippo dans le forum ASP.NET
    Réponses: 1
    Dernier message: 05/01/2007, 18h30
  4. [ACCESS 2000] Problème de listBox
    Par noemieze dans le forum Access
    Réponses: 3
    Dernier message: 27/06/2006, 08h58
  5. [débutant] Problème de listBox
    Par Anthony17 dans le forum Débuter
    Réponses: 6
    Dernier message: 11/05/2006, 10h05

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