[Visual Basic] Aide pour les menus
Résolu
TyTy
-
TyTy -
TyTy -
Bonjour tout le monde,
Je suis actuellement en train de programmer des trucs pour moi avec Microsoft Visual Basic 2008 Express.
Je rencontre deux problème que je n'ai pas réussi à résoudre après des heures de recherche (suis peut-être pas doué lol) :
-Le premier c'est que j'ai créé un menu dans ma fênetre et je voudrai effacer le contenu de ma fênetre quand je change de menu. J'explique, pour le moment j'ai un menu avec deux sous-menu, quand je clique sur le sous-menu1 j'affiche la GroupBox1 et j'aimerai que lorsque je clique sur le sous-menu2, la GroupBox1 disparaisse et que la GroupBox2 apparaisse. Comme elles n'ont pas la même taille je vois les deux mais supperposés ... J'aimerai éviter le GroupBox1.Visible = False car je vais en rajouter et ça va faire beaucoup si je doit prendre en compte possibilité à effacer pour en mettre 1 seule, d'où ma demande comment effacer "tout le contenue de la fenêtre" (sauf les menu et la StatusBar lol)
-Le second et totalement différent, j'ai créé une fonction mais j'aimerai qu'elle me retourne 3 nombres (style Double avec virgule...) que je puisse récupérer indépendemment. J'ai essayé Return a,b,c et
Return a
Return b
Return c
mais ça ne fonctionne pas, c'est impossible ?
Voici ma fonction
Merci à ceux qui ont eu le courage de me lire jusqu'au bout et encore plus à ceux qui pourront m'aider.
Cordialement.
Je suis actuellement en train de programmer des trucs pour moi avec Microsoft Visual Basic 2008 Express.
Je rencontre deux problème que je n'ai pas réussi à résoudre après des heures de recherche (suis peut-être pas doué lol) :
-Le premier c'est que j'ai créé un menu dans ma fênetre et je voudrai effacer le contenu de ma fênetre quand je change de menu. J'explique, pour le moment j'ai un menu avec deux sous-menu, quand je clique sur le sous-menu1 j'affiche la GroupBox1 et j'aimerai que lorsque je clique sur le sous-menu2, la GroupBox1 disparaisse et que la GroupBox2 apparaisse. Comme elles n'ont pas la même taille je vois les deux mais supperposés ... J'aimerai éviter le GroupBox1.Visible = False car je vais en rajouter et ça va faire beaucoup si je doit prendre en compte possibilité à effacer pour en mettre 1 seule, d'où ma demande comment effacer "tout le contenue de la fenêtre" (sauf les menu et la StatusBar lol)
-Le second et totalement différent, j'ai créé une fonction mais j'aimerai qu'elle me retourne 3 nombres (style Double avec virgule...) que je puisse récupérer indépendemment. J'ai essayé Return a,b,c et
Return a
Return b
Return c
mais ça ne fonctionne pas, c'est impossible ?
Voici ma fonction
Function Trinome(ByVal A As Double, ByVal B As Double, ByVal C As Double) As Double Dim d, x1, x2 As Double d = B * B - 4 * A * C If d >= 0 Then x1 = (-B + Math.Sqrt(d)) / (2 * A) x2 = (-B - Math.Sqrt(d)) / (2 * A) End If Return d,x1,x2 End Function
Merci à ceux qui ont eu le courage de me lire jusqu'au bout et encore plus à ceux qui pourront m'aider.
Cordialement.
A voir également:
- [Visual Basic] Aide pour les menus
- Visual basic - Télécharger - Langages
- Visual basic editor - Télécharger - Langages
- Visual petanque - Télécharger - Sport
- Microsoft 365 basic - Accueil - Microsoft Office
- Visual c++ 2019 - Guide
6 réponses
slt
pour le premier probleme je reflechis encore cr je ne l'ai as bien sais
sinon pour e 2 etant donnée qu le fonctions ont en programmation ont presque les mm definition qu'en mathématiques, je drais ce n'estpas possible que ta fonction tertourne 3 valeurs ben selon moi.
mais il y'a une astuce que tu peux utliser
ell consiste à declarer les 3 variables A, B et C soi public ou ben privées celadepend de la porté ou tu les veux, ensuite il te faux les passer à la fonction par reference car et faireretourner tes valeurs avec quellesregarde ce ci
tu comprend bien que tu poura utilisertes variable à la sorti de ton programme et qu'elles auront changé de valeurs
utilitaion
cdlt.
;-)
pour le premier probleme je reflechis encore cr je ne l'ai as bien sais
sinon pour e 2 etant donnée qu le fonctions ont en programmation ont presque les mm definition qu'en mathématiques, je drais ce n'estpas possible que ta fonction tertourne 3 valeurs ben selon moi.
mais il y'a une astuce que tu peux utliser
ell consiste à declarer les 3 variables A, B et C soi public ou ben privées celadepend de la porté ou tu les veux, ensuite il te faux les passer à la fonction par reference car et faireretourner tes valeurs avec quellesregarde ce ci
Sub Trinome(ByRef A As Double, ByRef B As Double, ByRef C As Double) Dim d, x1, x2 As Double d = B * B - 4 * A * C If d >= 0 Then x1 = (-B + Math.Sqrt(d)) / (2 * A) x2 = (-B - Math.Sqrt(d)) / (2 * A) End If A = d B = x1 C = x2 End Sub
tu comprend bien que tu poura utilisertes variable à la sorti de ton programme et qu'elles auront changé de valeurs
utilitaion
Public a, b, c AS Double 'Avant a = 1 b = 7 c = 12 Call Trinome(a,b,c) 'Apres a = 1 b = -3 c = -4
cdlt.
;-)
Bon je vais tenter une deuxième explication de mon problème 1.
Quand je lance mon programme, j'ai une fenêtre vide ormis un menu et une StatusBar (mes GroupBox sont invisibles).
Lorsque je clique sur sous-menu1, ma GB1 s'affiche (Me.GroupBox1.Visible = True) jusque là ok.
Ensuite je veux changer, je clique sur sm2 pour afficher ma GB2 mais celle-ci apparaît derrière la GB1.
J'avais pensé mettre Me.GroupBox1.Visible = False mais le problème c'est que je vais avoir une 10aine (si ce n'est plus) de sous-menu correspodant chacun à une GroupBox différente.
Donc j'aimerai avoir une seule commande pour effacer tout le contenu de ma Fenêtre (sauf menu et StatusBar)
Quand je lance mon programme, j'ai une fenêtre vide ormis un menu et une StatusBar (mes GroupBox sont invisibles).
Lorsque je clique sur sous-menu1, ma GB1 s'affiche (Me.GroupBox1.Visible = True) jusque là ok.
Ensuite je veux changer, je clique sur sm2 pour afficher ma GB2 mais celle-ci apparaît derrière la GB1.
J'avais pensé mettre Me.GroupBox1.Visible = False mais le problème c'est que je vais avoir une 10aine (si ce n'est plus) de sous-menu correspodant chacun à une GroupBox différente.
Donc j'aimerai avoir une seule commande pour effacer tout le contenu de ma Fenêtre (sauf menu et StatusBar)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Slt
je ne sais pas si j'ai bien compris mais essie ça voir et dit moi si je ne me ss pas trompé
cdlt.
;-)
je ne sais pas si j'ai bien compris mais essie ça voir et dit moi si je ne me ss pas trompé
'procedure de gestion de controle Private Sub afficheControle(ByVal numCont As Integer) 'Ici on rend tut les groupeBox invisible Dim cont As Control For Each cont In Me.Controls If TypeOf cont Is GroupBox Then cont.Visible = False End If Next 'Ici on affiche seulement le groupBox qui nus plait Select Case numCont Case 1 GroupBox1.Visible = True Case 2 GroupBox2.Visible = True Case 3 GroupBox3.Visible = True End Select End Sub 'exemple d'utilisation dans un menuItem ou un bouton,.... Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click Call afficheControle(2) End Sub Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click Call afficheControle(3) End Sub
cdlt.
;-)