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 :

[Débutant]OpenFileDialog qui met du temps à se fermer dû à des calculs


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut [Débutant]OpenFileDialog qui met du temps à se fermer dû à des calculs
    Bonjour,

    Je pense que le titre est assez explicite.

    J'ai une OpenSourceFileDialog et lorsque que l'utilisateur appuie sur OK le fenêtre de dialogue OpenSourceFileDialog met du temps à se fermer.

    Y-a-t-il un moyen de la cacher ou autre car elle laisse une trace sur la Form principale?

    Merci

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Ca serait pas une OpenFileDialog ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Aspic
    Ca serait pas une OpenFileDialog ?
    Oops! Si si, c'est ça, un OpenFileDialog...

    L'OpenSourceFileDialog c'est le nom de mon objet :/

    Désolé...

  4. #4
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Ok et elle est trop lente c'est ca ?? bizarre car c'est jamais lent cette boite de dialogue...
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Aspic
    Ok et elle est trop lente c'est ca ?? bizarre car c'est jamais lent cette boite de dialogue...
    non, mais c'est moi qu doit déconner dans le prog mais je ne sais pas où.

    Pour le moment le prog traite les calculs juste après avoir cliqué sur le bouton OK de la boîte. Je vais tenter de traiter les calculs dans l'event Close de la boîte de dialogue.

    a+

  6. #6
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par reun0
    non, mais c'est moi qu doit déconner dans le prog mais je ne sais pas où.

    Pour le moment le prog traite les calculs juste après avoir cliqué sur le bouton OK de la boîte. Je vais tenter de traiter les calculs dans l'event Close de la boîte de dialogue.

    a+
    Si tu postais la procédure de tes calculs ainsi que l'endroit où tu appelles l'ouverture de ta boite de dialog ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Aspic
    Si tu postais la procédure de tes calculs ainsi que l'endroit où tu appelles l'ouverture de ta boite de dialog ?
    Bah j'évite parce que j'ai honte du code que je pond Bon voilà quand même le bout de code concernant la fameuse boîte de dialogue.

    J'appuie sur un bouton SourceButton qui lance l'évènement Click:

    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
     Private Sub SourceButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SourceButton.Click
     
            OpenSourceFileDialog.FileName = "Excel source file"
            OpenSourceFileDialog.Filter = "Excel files(*.xls)|*.xls"
            OpenSourceFileDialog.FilterIndex = 1
            OpenSourceFileDialog.Title = "Select your Excel source file"
            OpenSourceFileDialog.Multiselect = False
            OpenSourceFileDialog.RestoreDirectory = True
            OpenSourceFileDialog.CheckFileExists = True
            OpenSourceFileDialog.AddExtension = True
     
            If sourceFilePath <> "" Then
                OpenSourceFileDialog.InitialDirectory = sourceFilePath
            Else : OpenSourceFileDialog.InitialDirectory = OpenSourceFileDialogInitialDirectory
            End If
     
            Dim result As DialogResult = OpenSourceFileDialog.ShowDialog()
     
            If result = Forms.DialogResult.OK Then
     
                ' Get the name and the path of the Xls file
                sourceFilePath = OpenSourceFileDialog.FileName
                sourceFile = System.IO.Path.GetFileName(OpenSourceFileDialog.FileName)
                TextBoxSourceFileName.Text = sourceFile
     
            '
            ' Add or remove tabPage from the tabControl depending on the number of sheet in the Xls file
            '
     
            Dim numberSheets As Integer = NumberOfSheetsOf(excelApp, sourceFilePath, sourceFile) ' give the number of sheets in the source file
            Dim sheetsNames(numberSheets - 1) As String
            Dim i, j As Integer
     
            ' give the sheets' names of the source file
            ' blank sheets are not taken in account
            sheetsNames = CheckNumberOfNotEmptySheets(excelApp, sourceFilePath, sourceFile)
     
            ' Delete all the pages of the TabControl
            Me.TabControlFileProperties.TabPages.Clear()
     
            sheetsList.Clear()
     
            ' Show the ones required depending on the number of sheets used
            j = 0
            Dim myTabPage As TabPage
     
            For i = 0 To numberSheets - 1 Step 1
     
                If sheetsNames(i) <> "" Then
     
                    Dim sheet As New sheet
                    ' save the sheet name for later
                    sheet.init()
                    sheet.name = sheetsNames(i)
                    sheetsList.Add(sheet)
     
                    ' add the TabPage required
                    myTabPage = TabPagesList(j)
                    myTabPage.Text = sheetsNames(i)
                    Me.TabControlFileProperties.TabPages.Add(myTabPage)
                    j = j + 1
                End If
            Next
     
            Me.TabControlFileProperties.Refresh()
            End If
     
        End Sub

  8. #8
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Bonjour à tous!

    Alors en ce qui me concerne, j'ai le même probème!

    Voici mes portions de code:
    Ici, la procédure lors du click sur OK dans la boite de dialogue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Private Sub dialog_importDB_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles dialog_importDB.FileOk
     
            Me.Cursor = Cursors.WaitCursor
            Call Mod_fileManager.ImportDB(Me.dialog_importDB.FileName, True)
            Me.Cursor = Cursors.Default
        End Sub
    Ici le code de la procédure appelée ci-dessus:
    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
     
     
    Friend Sub ImportDB(ByVal sourceFile As String, ByVal displayWarningMessage As Boolean)
     
     
            If displayWarningMessage Then
                If MsgBox(master.getTrans("Mod_fileManager.ImportDB.msgbox.warningMessage.message"), MsgBoxStyle.YesNo, master.getTrans("Mod_fileManager.ImportDB.msgbox.warningMessage.title")) = MsgBoxResult.No Then
                    Exit Sub
                End If
            Else
     
            End If
            Dim bakFile As String = workDBDirPath & "Pharmanager.bak"
     
            Try
                'creates a backup of the database in the working directory
                FileIO.FileSystem.CopyFile(WorkDbFullPath, bakFile, True)
     
                'replaces the working database by the imported one
                FileIO.FileSystem.CopyFile(sourceFile, WorkDbFullPath, True)
     
                master.displayMessage(mainform.statusLabel, "common.messages.DBImportSuccess", 0)
                master.fillDA()
                mainform.initMainForm()
     
            Catch ex As Exception
                master.displayMessage(mainform.statusLabel, "common.messages.DBImportError", 1)
                master.log(ex, 2)
            End Try
        End Sub
    Le code fonctionne parfaitement, mais mon programme importe des données, ce qui prend du temps.
    Donc la boite de dialogue reste affichée...

    Merci d'avance!!

    Bye, p.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/11/2011, 21h04
  2. Réponses: 4
    Dernier message: 21/04/2011, 20h05
  3. Réponses: 9
    Dernier message: 30/09/2009, 11h23
  4. optimiser une reqête qui mets beaucoup de temps
    Par rickways dans le forum Requêtes
    Réponses: 6
    Dernier message: 10/09/2009, 20h10
  5. Réponses: 3
    Dernier message: 10/06/2008, 09h55

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