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 :

Attendre le résultat d'une autre form


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Septembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2019
    Messages : 34
    Par défaut Attendre le résultat d'une autre form
    Salut tout le monde !

    Question : j'ai deux form, la première (FORM 2) doit s'afficher en premier, l'utilisateur (à l'aide d'une combo box) sélectionne une info qui se transmet à la form 1 où se trouve mon programme principal (que j'effectue dans le LOAD de la form1).

    Soucis, c'est que dans ce load, je fais appel à un openfiledialog pour récupérer un chemin de fichier : du coup, la form 2 s'ouvre bien en premier mais l'openfiledialog la masque directement

    Y-a-t-il une astuce pour attendre que l'utilisateur choisisse un item dans la combo box avant d'afficher l'openfiledialog ?

    j'ai pas envie d'un timer, plus un truc du style tant que la valeur n'est pas différente de "", le code n'avance pas.

    C'est possible ?

    Merci par avance pour vos réponses !

  2. #2
    Membre expérimenté
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Par défaut
    Hello,

    Oui bien sur.
    Dans le combobox, tu regardes l’événement "Selected Index Changed".

    Tu doubles clic dessus et Visual Studio va ouvrir lui même le sub qui vas y correspondre.

    Ce codes s’exécutera à chaque fois que l'utilisateur va sélectionner quelque chose dans le combobox.... tu peux y mettre ce que tu veux, notamment un openfiledialog.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Septembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2019
    Messages : 34
    Par défaut
    TOP !
    je vais tester ça !

    Toujours là pour un coup de pouce de qualité Thovan !

  4. #4
    Membre expérimenté
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Par défaut
    Pour le coup de pouce oui...
    Pour la qualité, on verra après

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Septembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2019
    Messages : 34
    Par défaut
    arf, c'est presque ça.

    maintenant il faut que mon programme principal puisse récupérer les informations de la form 2 avant de continuer.

    j'ai fais ça :

    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
    Private Sub DEMO_Load(sender As Object, e As EventArgs) Handles Me.Load
            'initialisation
            Fronts = 0
            Backs = 0
            Elem = 0
            Screws = 0
            Boxes = 0
            Wires = 0
            Poly = 0
            Wf = 0
            others = 0
            cellN = ""
            'Choix du numéro de cellule
            If myForm Is Nothing Then
                myForm = New listeCellule
                myForm.myCaller = Me
            End If
            myForm.Show()
     
            cellN = My.Forms.listeCellule.CellNumberbox.Text
            path3 = My.Forms.listeCellule.lblpath.Text
     
            If cellN = "Cell 1" Then
                Csheet = 1
                Dsheet = 24
            ElseIf cellN = "Cell 2" Then
                Csheet = 2
                Dsheet = 25
            ElseIf cellN = "Cell 3" Then
                Csheet = 3
                Dsheet = 26
            ElseIf cellN = "Cell 4" Then
                Csheet = 4
                Dsheet = 27
            ElseIf cellN = "Cell 5" Then
                Csheet = 5
                Dsheet = 28
            ElseIf cellN = "Cell 6" Then
                Csheet = 6
                Dsheet = 29
            ElseIf cellN = "Cell 7" Then
                Csheet = 7
                Dsheet = 30
            ElseIf cellN = "Cell 8" Then
                Csheet = 8
                Dsheet = 31
            ElseIf cellN = "Cell 9" Then
                Csheet = 9
                Dsheet = 32
            ElseIf cellN = "Cell 10" Then
                Csheet = 10
                Dsheet = 33
            ElseIf cellN = "Cell 11" Then
                Csheet = 11
                Dsheet = 34
            ElseIf cellN = "Cell 12" Then
                Csheet = 12
                Dsheet = 35
            ElseIf cellN = "Cell 14A" Then
                Csheet = 13
                Dsheet = 36
            ElseIf cellN = "Cell 14B" Then
                Csheet = 14
                Dsheet = 37
            ElseIf cellN = "Cell 15" Then
                Csheet = 15
                Dsheet = 38
            ElseIf cellN = "Cell 16" Then
                Csheet = 16
                Dsheet = 39
            ElseIf cellN = "Cell 17" Then
                Csheet = 17
                Dsheet = 40
            ElseIf cellN = "Cell 18" Then
                Csheet = 18
                Dsheet = 41
            ElseIf cellN = "Cell 19" Then
                Csheet = 19
                Dsheet = 42
            ElseIf cellN = "Cell 20" Then
                Csheet = 20
                Dsheet = 43
            ElseIf cellN = "Cell 21" Then
                Csheet = 21
                Dsheet = 44
            ElseIf cellN = "Cell 22" Then
                Csheet = 22
                Dsheet = 45
            ElseIf cellN = "Cell 23" Then
                Csheet = 23
                Dsheet = 46
            End If
     
     
     
            ApExcel.Workbooks.Open(path3)
            ApExcel.Sheets(Csheet).select
            ApExcel.Cells.Clear()
            ApExcel.Cells(i, 1) = "Cell Number"
            ApExcel.Cells(i, 2) = "Parts"
            ApExcel.Cells(i, 3) = "Amber"
            ApExcel.Cells(i, 4) = "Amber Time"
            ApExcel.Cells(i, 5) = "Red"
            ApExcel.Cells(i, 6) = "Out of part time"
            ApExcel.Sheets(Dsheet).select
            ApExcel.Cells.Clear()
            ApExcel.Cells(k, 1) = "Cell Number"
            ApExcel.Cells(k, 2) = "Real Stoppage time"
            i = i + 1
            k = k + 1
            ApExcel.ActiveWorkbook.Close(True)
            ApExcel.Quit()
     
        End Sub
    Mais quand je le lance il skip complètement ces lignes là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cellN = My.Forms.listeCellule.CellNumberbox.Text
    path3 = My.Forms.listeCellule.lblpath.Text
    (listeCellule étant le nom de ma form 2)

    En gros, il continue sans attendre le résultat renvoyé par la form 2

  6. #6
    Membre expérimenté
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Par défaut
    mmmm non ça ne peut pas marcher ça.

    Tu dois créer une variable et la passer d'un form à l'autre.

    Fait une recherche google sur "VB.NET passer variable d'une form à une autre" et tu devrais trouver ton bonheur.
    Il y a plusieurs techniques pour le faire...

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur mécanique
    Inscrit en
    Septembre 2019
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2019
    Messages : 34
    Par défaut
    Ok,

    Cependant, quand je lance le programme je n'ai même pas le temps d'ouvrir la form 2 qu'il plante déjà.

    en fait je dois attendre que mes valeurs soient renseignées avant de passer à la suite
    mais il fait tout dans la foulée

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/05/2014, 19h19
  2. [AC-2007] Mettre à jour une une sous-form avec le résultat d'une autre requête
    Par courriervirtuel dans le forum Access
    Réponses: 1
    Dernier message: 21/10/2011, 09h17
  3. Récupération du résultat d'une autre forme
    Par walid kh dans le forum VB.NET
    Réponses: 7
    Dernier message: 15/03/2010, 12h23
  4. [C#] Acceder à la méthode d'une autre form
    Par dacid dans le forum Windows Forms
    Réponses: 35
    Dernier message: 23/03/2005, 14h49
  5. Comment basculer le focus depuis une autre form ?
    Par altahir007 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 03/09/2003, 15h54

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