Bonjour à tous,
Je vous présente mon premier logiciel en VB .NET, à la base tiré du tuto sur le VB .NET du Site Du Zéro, j'ai modifié entièrement l'interface graphique ainsi que le code. Donc j'aimerai vos avis pour savoir quoi rajouter, modifier, changer, etc...
Source / Exemple :
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Icon = New Icon(SystemIcons.Application, 32, 32)
TXT_CONSOMMATION.Focus() 'Met le focus sur le premier TextBox
NumericUpDown1.Minimum = 1 'Defini le minimum de l'intervalle du NumericUpDown
NumericUpDown1.Maximum = 7 'Defini son maximum
End Sub
'Fonction permettant de vérifier si tout les TextBox sont rempli, si non le bouton de calcul est désactivé.
Sub verification()
BT_CALCUL.Enabled = Me.TXT_CONSOMMATION.Text <> "" And Me.TXT_NBKM.Text <> "" And Me.TXT_PRIXESS.Text <> ""
End Sub
'Fonction de calcul, la fonction retourne vraiCout qui est Cout multiplié
'par la valeur choisi dans le NumericUpDown
Function Calcul(ByVal Consommation As Double, ByVal NbKm As Double, ByVal PrixEss As Double) As Double
Dim Cout As Double
Cout = FormatNumber(((NbKm / 100) * Consommation) * PrixEss, 2) * NumericUpDown1.Value 'Calcul du cout, FormatNumber sert à mettre 2 chiffres après la virgule
Return Cout
End Function
'Permet de déplacer la fenêtre en cliquant sur le BackGround
'Trouvé par un ami, donc je ne connais pas la source de script
Private Declare Function ReleaseCapture Lib "user32" () As Integer
Private Const HTCAPTION As Integer = 2
Private Const WM_NCLBUTTONDOWN As Integer = &HA1S
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As Integer) As Integer
'Idem au-dessus
Private Sub Form_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
ReleaseCapture()
SendMessage(Me.Handle.ToInt32, WM_NCLBUTTONDOWN, HTCAPTION, 0)
End If
End Sub
Private Sub TXT_CONSOMMATION_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TXT_CONSOMMATION.KeyPress, TXT_NBKM.KeyPress, TXT_PRIXESS.KeyPress
If e.KeyChar = Chr(27) Then 'Ligne 54 à 56, ferme la form quand echap est pressé
Me.Close()
End If
If e.KeyChar = "." Then 'Le "." fait planter le prog
e.KeyChar = "," 'Donc ligne 57 à 59 quand "." est pressé il devient ","
End If
If e.KeyChar = "," Or e.KeyChar >= "0" And e.KeyChar <= "9" Or e.KeyChar < " " Then 'Autorise les caractères allant de 0 à 9, et bloque les caractères ASCII non-affichable
verification() 'Lance la fonction de vérification de champs vides
Return
End If
Beep() 'Si un caractère "interdit" est entré, un bip est produit
e.KeyChar = "" 'Ce caractère interdit, devient "rien"
End Sub
'Quand le bouton est pressé, il affiche le label et le résultat du calcul du prix
Private Sub BT_CALCUL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_CALCUL.Click
Me.LBL_COUT.Text = "Le coût du voyage sera de " & Calcul(Me.TXT_CONSOMMATION.Text, Me.TXT_NBKM.Text, Me.TXT_PRIXESS.Text) & ""
End Sub
'Lance la fonction de vérification au moment où l'uutilisateur lache sa touche
Private Sub TXT_CONSOMMATION_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TXT_CONSOMMATION.KeyUp, TXT_NBKM.KeyUp, TXT_PRIXESS.KeyUp
verification()
End Sub
'Le bouton de fermeture est remplacer par un X, quand l'utilisateur clique dessus, la form se ferme
Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click
MyBase.Close()
End Sub
'Quand l'utilisateur passe la souris sur le X, il devient rouge
Private Sub Label5_MouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.MouseHover
Label5.ForeColor = Color.Red
End Sub
'Quand l'utilisateur enlève la souris du X, il redevient noir
Private Sub Label5_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.MouseLeave
Label5.ForeColor = Color.Black
End Sub
End Class
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.