Problème avec le windows form (visual studio basic)
Fermé
kingston2
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015
-
Modifié par jmarion3 le 17/09/2014 à 05:56
Utilisateur anonyme - 17 sept. 2014 à 19:37
Utilisateur anonyme - 17 sept. 2014 à 19:37
A voir également:
- Problème avec le windows form (visual studio basic)
- Visual basic - Télécharger - Langages
- Obs studio windows 7 - Télécharger - TV & Vidéo
- Microsoft 365 basic - Accueil - Microsoft Office
- Microsoft visual c++ runtime - Guide
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
7 réponses
Utilisateur anonyme
17 sept. 2014 à 07:32
17 sept. 2014 à 07:32
Bonjour, et bien c'est simple.
Tu démarres un projet windows form.
Sur le formulaire tu déposes:
-un contrôle qui permettra la saisie du chiffre (textbox par exemple)
-un contrôle qui permettra l'affichage du résultat (label par exemple)
-et un bouton pour lancer le calcul.
Tu double cliques sur le bouton, VS va basculer du côté code du formulaire, dans la méthode associée à l'événement par défaut du bouton, soit le simple click.
Là tu tapes presque le même code que tu aurais écris en console. La différence est qu'à la place de readline, il faut récupérer le contenu du contrôle de saisie (propriété Text) et qu'à la place de writeline il faut affecter le contenu du contrôle d'affichage.
Tu démarres un projet windows form.
Sur le formulaire tu déposes:
-un contrôle qui permettra la saisie du chiffre (textbox par exemple)
-un contrôle qui permettra l'affichage du résultat (label par exemple)
-et un bouton pour lancer le calcul.
Tu double cliques sur le bouton, VS va basculer du côté code du formulaire, dans la méthode associée à l'événement par défaut du bouton, soit le simple click.
Là tu tapes presque le même code que tu aurais écris en console. La différence est qu'à la place de readline, il faut récupérer le contenu du contrôle de saisie (propriété Text) et qu'à la place de writeline il faut affecter le contenu du contrôle d'affichage.
kingston2
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015
17 sept. 2014 à 14:04
17 sept. 2014 à 14:04
salut, je n'ai pas compris ce qu'est le contenu du controle d 'affichage .
kingston2
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015
17 sept. 2014 à 17:37
17 sept. 2014 à 17:37
je voudrais savoir où je dois poser mes conditions
Comme je l'ai de j'ai écrite
Tu double cliques sur le bouton, VS va basculer du côté code du formulaire, dans la méthode associée à l'événement par défaut du bouton, soit le simple click.
Là tu tapes presque le même code que tu aurais écris en console. La différence est qu'à la place de readline, il faut récupérer le contenu du contrôle de saisie (propriété Text) et qu'à la place de writeline il faut affecter le contenu du contrôle d'affichage.
kingston2
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015
17 sept. 2014 à 18:09
17 sept. 2014 à 18:09
je suis complétement paumé . voici ce que j'ai fait
Public Class Form1</code>
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dblventes As Double
Dim dblresultat As Double
Dim dblprime As Double
dblventes = txtventes.Text
End Sub
Private Sub txtresultat_Click(sender As Object, e As EventArgs) Handles txtresultat.Click
MessageBox.Show("votre prime est de :" & txtresultat.Text)
End Sub<code basic>
Utilisateur anonyme
17 sept. 2014 à 18:42
17 sept. 2014 à 18:42
Ha donc c'est du VB.net....
Puisque tu maitrise le mode console, je ne reviens pas sur les événements.
L'événement load se produit au moment du chargement du formulaire, il n'est pas encore affiché.
C'est à ce moment la que l'on peux initialiser l'application (connexion à la base de données, valeurs par défaut des contrôles etc...)
Ce n'est donc pas là que tu dois mettre tes calculs.
Tu as mis ton messagebox dans la méthode associée à l'événement click du textbox, cliquer sur un textbox pour voir afficher un message n'est pas très naturel.
Je t'ai dit de poser un bouton sur le formulaire et d'y faire tous tes calculs (pour une première appli ça suffit).
Puisque tu maitrise le mode console, je ne reviens pas sur les événements.
L'événement load se produit au moment du chargement du formulaire, il n'est pas encore affiché.
C'est à ce moment la que l'on peux initialiser l'application (connexion à la base de données, valeurs par défaut des contrôles etc...)
Ce n'est donc pas là que tu dois mettre tes calculs.
Tu as mis ton messagebox dans la méthode associée à l'événement click du textbox, cliquer sur un textbox pour voir afficher un message n'est pas très naturel.
Je t'ai dit de poser un bouton sur le formulaire et d'y faire tous tes calculs (pour une première appli ça suffit).
kingston2
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015
Modifié par kingston2 le 17/09/2014 à 18:49
Modifié par kingston2 le 17/09/2014 à 18:49
ah d'accord ! je fais tout sur le bouton ? même les declarations de variables ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
17 sept. 2014 à 18:51
17 sept. 2014 à 18:51
Oui, on va dire que ton utilisateur est assez bien câblé pour remplir les données avant de lancer les calculs, en cliquant sur le bouton.
kingston2
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015
Modifié par kingston2 le 17/09/2014 à 19:12
Modifié par kingston2 le 17/09/2014 à 19:12
Public Class Form1
Private Sub btprime_Click(sender As Object, e As EventArgs) Handles btprime.Click
Dim dblventes As Double
Dim dblprime As Double
dblventes = txtventes.Text
Select Case dblventes
Case Is < 2000
dblprime = 0
Case Is >= 2000
dblprime = 0.025
Case Is >= 5000
dblprime = 0.045
Case Is >= 8000
dblprime = 0.062
End Select
MessageBox.Show("votre prime est de :" & dblventes * dblprime)
End Sub
End Class
voici ce que j ai trouvé . ca marche mais je voudrais savoir si j'ai bien écrit
EDIT : voici mon code finale après réflexion:
Public Class Form1
Private Sub btprime_Click(sender As Object, e As EventArgs) Handles btprime.Click
Dim dblventes As Double
Dim dblprime As Double
dblventes = txtventes.Text
If dblventes < 2000 Then
dblprime = dblventes * 0
ElseIf dblventes >= 2000 And dblventes < 5000 Then
dblprime = dblventes * 0.025
ElseIf dblventes >= 5000 And dblventes < 8000 Then
dblprime = dblventes * 0.045
Else
dblprime = dblventes * 0.062
End If
MessageBox.Show("votre montant prime ajoutée est de :" & dblprime + dblventes)
End Sub
End Class
kingston2
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015
17 sept. 2014 à 19:21
17 sept. 2014 à 19:21
est ce que mon nouveau code est approprié ?
Non le select case est mieux, dans le sens ou c'est plus lisible et plus facile à maintenir.
Il faut juste faire attention à l'ordre dans lequel sont écrit les "case", le programme les exécute dans cet ordre, donc si ta valeur est 5500 et que >2000 est écrit avant >5000, alors il choisira > 2000.
Dans cet ordre, plus de problèmes:
Il faut juste faire attention à l'ordre dans lequel sont écrit les "case", le programme les exécute dans cet ordre, donc si ta valeur est 5500 et que >2000 est écrit avant >5000, alors il choisira > 2000.
Dans cet ordre, plus de problèmes:
Select Case dblventes Case Is >= 8000 dblprime = 0.062 Case Is >= 5000 dblprime = 0.045 Case Is >= 2000 dblprime = 0.025 Case Is < 2000 dblprime = 0 End Select
kingston2
Messages postés
126
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
27 mai 2015
17 sept. 2014 à 19:32
17 sept. 2014 à 19:32
d'accord je vois , merci beaucoup de votre patience !
Utilisateur anonyme
17 sept. 2014 à 19:37
17 sept. 2014 à 19:37
De rien, je suis patient si en face la personne essaye et c'est ton cas.
Si ta question est résolue, merci de la signaler comme telle avec le lien sous le titre de la discussion.
--
Si ta question est résolue, merci de la signaler comme telle avec le lien sous le titre de la discussion.
--