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

Windows Forms Discussion :

Problème de form.show()


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club Avatar de tbdarkspirit
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 53
    Points : 27
    Points
    27
    Par défaut Problème de form.show()
    Bonjour,

    Voilà j'ai un petit problème...

    j'ai une application avec 2 form.

    dans la form1 se déroule les différentes actions

    dans la form2 il y a juste une progressbar pour faire patienter...

    lorsque je clique sur le bouton (se trouvant dans la form1) pour lancer l'action je lance la form2. Celle-ci s'ouvre et se fige jusqu'à ce que la suite du code soit executé...

    Je sais pas si j'ai été très clair, mais c'est dure à expliquer...

    voici un bout de code pour illustrer... :


    bouton dans form1
    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
    Private Sub compressButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles compressButton.Click
            form2.Show()
            Me.Hide()
            System.Threading.Thread.Sleep(4000)
            ' varialbles d'environnements
            Dim i As Integer
            For i = 1 To 255
                If Environ(i) <> "" Then Debug.Print(Environ(i))
            Next
            ' fin varialbles d'environnements
            ' mes docs
            Dim Mydocs As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
            If mydocsCheckBox.Checked = True Then
                Shell("rar a -ep1 -sfx " & """" & destRARPath.Text & "\" & NameRAR.Text & """" & " " & """" & Mydocs & """", AppWinStyle.Hide, True)
                ProgressBar1.PerformStep()
            Else
                ProgressBar1.PerformStep()
            End If
            ' favoris
            Dim Favoris As String = Environment.GetFolderPath(Environment.SpecialFolder.Favorites)
            If FavorisCheckBox.Checked = True Then
                Shell("rar a -ep1 -sfx " & """" & destRARPath.Text & "\" & NameRAR.Text & """" & " " & """" & Favoris & """", AppWinStyle.Hide, True)
                ProgressBar1.PerformStep()
            Else
                ProgressBar1.PerformStep()
            End If
            ' autre
            Dim autre As String = FolderBrowserDialog1.SelectedPath
            If AutreCheckBox.Checked = True Then
                Shell("rar a -ep1 -sfx " & """" & destRARPath.Text & "\" & NameRAR.Text & """" & " " & """" & autre & """", AppWinStyle.Hide, True)
                ProgressBar1.PerformStep()
            Else
                ProgressBar1.PerformStep()
            End If
            ' autre 2
            Dim autre2 As String = FolderBrowserDialog2.SelectedPath
            If Autre2CheckBox.Checked = True Then
                Shell("rar a -ep1 -sfx " & """" & destRARPath.Text & "\" & NameRAR.Text & """" & " " & """" & autre2 & """", AppWinStyle.Hide, True)
                ProgressBar1.PerformStep()
            Else
                ProgressBar1.PerformStep()
            End If
            form2.Close()
            Me.show
            MessageBox.Show("L'Archives " & NameRAR.Text & ".exe" & " a été crée correctement dans le répertoire" & vbCrLf & destRARPath.Text, "Jenova Back-up Maker", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            isoPanel.Enabled = True
        End Sub
    code de la form2 :

    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
        Private Sub form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ProgressBar1.Maximum = 100
            ProgressBar1.Minimum = 0
            Timer1.Start()
            Label1.Refresh()
            Me.Refresh()
        End Sub
     
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Me.ProgressBar1.Increment(1)
            If Me.ProgressBar1.Value >= Me.ProgressBar1.Maximum Then
                Me.ProgressBar1.Value = 0
            End If
            Label1.Refresh()
            Me.Refresh()
        End Sub
    Je précise que si je lance la form2 sans qu'une autre action suive cela marche très bien...

    Merci d'avance pour votre aide.

  2. #2
    Membre actif Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Points : 215
    Points
    215
    Par défaut
    Bonjour tbdarkspirit,

    Alors si j'ai bien compris, tu expliques que sur ton Form1 lorsque tu cliques sur un bouton, la Form2 s'affiche et te fait patienter le temps que le code de ta Form1 s'exécute.

    C'est bien ça ?


    Cependant, je ne vois pas le problème que tu rencontres. Pourrais-tu être un peu plus clair ?

    Merci.

  3. #3
    Nouveau membre du Club Avatar de tbdarkspirit
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 53
    Points : 27
    Points
    27
    Par défaut
    oui tu as bien compris...

    en fait la form2 se lance, mais se fige jusqu'à ce que le code de la form1 soit terminé...

    un petit screen:

    form2 figée pendant l'execution du code de la form1 :


    form2 qui fonctionne une fois le code de la form1 executé:


    Meric pour ton aide!

  4. #4
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Ton but c'est quoi ?
    Que les 2 forms déroulent leur code en meme temps ? Que la form 2 déroule le sien avant la form 1 ?
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  5. #5
    Nouveau membre du Club Avatar de tbdarkspirit
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 53
    Points : 27
    Points
    27
    Par défaut
    Salut The_badger_man!

    le but c'est que les 2 form déroulent leur code en même temps...

  6. #6
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    je pense que c'est un problème de Thread. C'est un probleme classic en programmation.

    Des tutos ici (car c'est un peu long à expliquer là):

    http://drq.developpez.com/dotnet/articles/threads/

    http://emerica.developpez.com/csharp/threads/
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  7. #7
    Nouveau membre du Club Avatar de tbdarkspirit
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 53
    Points : 27
    Points
    27
    Par défaut
    Ok merci beaucoup, je vais regarder ça...

  8. #8
    Nouveau membre du Club Avatar de tbdarkspirit
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 53
    Points : 27
    Points
    27
    Par défaut
    Bon je me suis rabatu sur le backgroundworker du framework2. Ca me parait plus simple...

    Mais merci beaucoup de m'avoir mis sur la bonne piste...

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

Discussions similaires

  1. Problème d'ouverture de fenêtre (Form.show)
    Par steelidol dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/08/2008, 16h10
  2. Problème ouverture form à partir d'une var
    Par priest69 dans le forum Access
    Réponses: 1
    Dernier message: 29/11/2005, 12h21
  3. [STRUTS]Problème de form
    Par sqlnet dans le forum Struts 1
    Réponses: 5
    Dernier message: 07/10/2005, 12h37
  4. [HTML] Problème de Form(s)
    Par Ghusse dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 21/09/2005, 08h24
  5. [ASP]Problème de form en html
    Par DEC dans le forum ASP
    Réponses: 2
    Dernier message: 16/08/2004, 20h29

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