[vb.net] Programmation "cascade"
Résolu
charlibegood
-
charlibegood -
charlibegood -
Bonjour,
Je viens à vous car, j'ai un petit problème pour programmer sur vb.net (gros débutant).
Je vous explique : J'aimerais faire une application assez simple qui consiste à utilisé des conditions en cascade pour avoir une solution.
exemple : 3 choix de départ ( en bouton ) jean, marc, michel. Je clic sur jean cela m'affiche dans la même fenêtre (sans les anciens choix) 2 autres choix ( en bouton toujours ) mâle, femelle. Je clic sur mâle cela m'affiche 3 autres choix ( toujours en bouton et sur la même fenêtre sans les anciens choix) jeune, adulte, vieux. Je clic sur adulte et là cela m'affiche un lien vers internet (cliquable sur la même fenêtre et sans les anciens choix) pour voir une fiche profil type.
Et le tous avec un bouton retour si jamais on se trompe (pas besoin de suivant car il suffira de re-cliquer sur le bouton désiré pour faire suivant)
Si vous trouvez la solution (qui je pense dans le fond est simple) mais dans la forme un peu moins. Je veux surtout éviter de crée une usine à gaz avec 150 form.vb avec les différents choix possible genre 1 form pour jean, marc, michel puis 1 autre avec mâle, femelle etc, etc.
Merci d'avance.
Charlibegood
Je viens à vous car, j'ai un petit problème pour programmer sur vb.net (gros débutant).
Je vous explique : J'aimerais faire une application assez simple qui consiste à utilisé des conditions en cascade pour avoir une solution.
exemple : 3 choix de départ ( en bouton ) jean, marc, michel. Je clic sur jean cela m'affiche dans la même fenêtre (sans les anciens choix) 2 autres choix ( en bouton toujours ) mâle, femelle. Je clic sur mâle cela m'affiche 3 autres choix ( toujours en bouton et sur la même fenêtre sans les anciens choix) jeune, adulte, vieux. Je clic sur adulte et là cela m'affiche un lien vers internet (cliquable sur la même fenêtre et sans les anciens choix) pour voir une fiche profil type.
Et le tous avec un bouton retour si jamais on se trompe (pas besoin de suivant car il suffira de re-cliquer sur le bouton désiré pour faire suivant)
Si vous trouvez la solution (qui je pense dans le fond est simple) mais dans la forme un peu moins. Je veux surtout éviter de crée une usine à gaz avec 150 form.vb avec les différents choix possible genre 1 form pour jean, marc, michel puis 1 autre avec mâle, femelle etc, etc.
Merci d'avance.
Charlibegood
A voir également:
- [vb.net] Programmation "cascade"
- Liste déroulante en cascade - Guide
- Application de programmation - Guide
- Programmation envoi sms - Guide
- Programmation binaire - Guide
- Programmation vb - Télécharger - Langages
6 réponses
Bonjour,
Un exemple de départ ?
Un nouveau projet.
Sur la forme tu colle
Un label, Label1 (dans le haut de la forme)
Et tu colle le code ci-dessous
Tu dis...
A+
Un exemple de départ ?
Un nouveau projet.
Sur la forme tu colle
Un label, Label1 (dans le haut de la forme)
Et tu colle le code ci-dessous
Public Class Form1
'Crée la collection d'objet
Dim ClGroup As New Microsoft.VisualBasic.Collection()
Dim txtB() As String
Dim Résultat(3) As String
Dim Num As Byte = 0
Sub ChangeBouton()
Dim E As Byte = Num * 3
For i As Byte = 0 To 2
ClGroup(CStr(i + 1)).text() = txtB(E + i)
ClGroup(CStr(i + 1)).visible = Not txtB(E + i) = ""
Next
ClGroup("4").Visible = Num > 0
Label1.Text = ""
End Sub
Private Sub AllButton_MouseDown(ByVal sender As System.Object, ByVal e As System.EventArgs)
If sender.tag = 4 Then
Num -= 1
ChangeBouton()
Else
Résultat(Num) = sender.text
Num += 1
If Num < 3 Then
ChangeBouton()
Else
Dim S As String = "Sélection = "
For i = 0 To 2 : S = S & Résultat(i) & " | " : Next
Label1.Text = S
End If
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
txtB = {"Jean", "Michel", "Paul", _
"Homme", "Femme", "", _
"Jeune", "Adulte", "Vieux"}
For i As Byte = 1 To 4
Dim Bout As New Button
With Bout
If i = 4 Then
.Location = New Point(180, 147)
.Text = "Précédant"
Else
.Location = New Point((i - 1) * 90 + 9, 113)
End If
.Size = New Size(75, 23)
.Tag = i
AddHandler .MouseDown, AddressOf AllButton_MouseDown
ClGroup.Add(Bout, .Tag)
End With
Controls.Add(Bout)
Next i
ChangeBouton()
End Sub
End Class
Tu dis...
A+
Et bien je te remercie, mais tu as un très bon niveau car franchement je n'ais pas compris le code mais il fonction comme l'exemple que j'ai proposé, chapeau bas. Maintenant le soucis sera de m'approprier ce code pour rajouter des boutons, des cascades et des liens + chemin vers dossier etc... je sent que finalement je suis pas du niveau... mais je vais persister car comme on dis, <<oublie que tu n'as aucune chance vas y fonce, sur un malentendu ça peut marcher>>.
D'accord je viens de comprendre un peu comme tu as procédé. Et en faite cela fonctionne dans l'exemple que tu m'as montré mais le "système de défilement verticale" de +3 si le bouton jean est cliqué pour avoir les boutons homme ou femme sur la forme ne vont pas car j'aimerais que chaque cascades soit distinctes. Comment dire ... faire un "système" avec seulement des conditions.
Autre exemple :
Cahier des charges:
-3 cascades distinctes sur 1 forme (en boutons) :(ios, bb os, android os)
-Puis 2 sous-cascades distinctes (en boutons et sur la même forme) : (particulier, professionnel)
-Puis 3 sous-sous-cascades (*****) : (sfr, orange, bouygues)
-Puis 2 sous-sous-sous-cascades (*****) : (config mail, config apn)
Cas 1 : Je clic sur ios puis sur professionnel puis sur sfr puis sur config mail alors cela m'affiche un dossier nommé (config mail ios) avec les documents nécessaires à la configuration mail d'un iPhone.
Cas 2 : Je clic sur bb os puis sur particulier alors affiché une phrase ("hors procédure")
Cas 3 : Je clic sur android os puis sur professionnel puis sur bouygues puis sur config apn alors cela m'affiche un lien internet cliquable vers les identifiant apn de bouygues pour android.
Voilà, je pense que je suis un peu plus clair dans ma demande. Et je ne sais pas si cela est réalisable sur vb.net car s'il faut que je change de langage de prog pour le faire, je le ferais.
Finalement je demande comment faire car je suis hotliner et j'aimerais me faciliter la vie en créant mon outil personnel car notre informaticien ne veut pas me le faire .... donc je me débrouille seul du moins j'essaie ^^ merci en tout cas.
Autre exemple :
Cahier des charges:
-3 cascades distinctes sur 1 forme (en boutons) :(ios, bb os, android os)
-Puis 2 sous-cascades distinctes (en boutons et sur la même forme) : (particulier, professionnel)
-Puis 3 sous-sous-cascades (*****) : (sfr, orange, bouygues)
-Puis 2 sous-sous-sous-cascades (*****) : (config mail, config apn)
Cas 1 : Je clic sur ios puis sur professionnel puis sur sfr puis sur config mail alors cela m'affiche un dossier nommé (config mail ios) avec les documents nécessaires à la configuration mail d'un iPhone.
Cas 2 : Je clic sur bb os puis sur particulier alors affiché une phrase ("hors procédure")
Cas 3 : Je clic sur android os puis sur professionnel puis sur bouygues puis sur config apn alors cela m'affiche un lien internet cliquable vers les identifiant apn de bouygues pour android.
Voilà, je pense que je suis un peu plus clair dans ma demande. Et je ne sais pas si cela est réalisable sur vb.net car s'il faut que je change de langage de prog pour le faire, je le ferais.
Finalement je demande comment faire car je suis hotliner et j'aimerais me faciliter la vie en créant mon outil personnel car notre informaticien ne veut pas me le faire .... donc je me débrouille seul du moins j'essaie ^^ merci en tout cas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Comme dis, c'est un début de piste.
Pour réaliser ce que tu veux étudie les tableaux multi dimentions.
Genre TB(3,12)
Je ne compte pas te faire une appli clés sur porte, à toi maintenant.
A+
Pour réaliser ce que tu veux étudie les tableaux multi dimentions.
Genre TB(3,12)
Je ne compte pas te faire une appli clés sur porte, à toi maintenant.
A+
Oui, j'ai bien compris et c'est logique de ne pas avoir du sur mesure.
Mais simplement, j'ai l'impression de ne pas suivre le bon chemin avec votre code.
Je regarderais les tableaux multi dimensions mais au vue de mes compétences, c'est peine perdu. J'aurais 1 an pour apprendre à développer, je ne vous embêterais pas mais ce n'est pas mon cas. Je voulais juste un exemple et vous me l'avez donné donc je n'attend rien de plus. Merci encore. Vous pouvez clore ce sujet.
Edit : je n'avais pas vu qu'on pouvais le clore sois même ..
Mais simplement, j'ai l'impression de ne pas suivre le bon chemin avec votre code.
Je regarderais les tableaux multi dimensions mais au vue de mes compétences, c'est peine perdu. J'aurais 1 an pour apprendre à développer, je ne vous embêterais pas mais ce n'est pas mon cas. Je voulais juste un exemple et vous me l'avez donné donc je n'attend rien de plus. Merci encore. Vous pouvez clore ce sujet.
Edit : je n'avais pas vu qu'on pouvais le clore sois même ..