Optimisez mon code visual basic [Résolu]

Signaler
Messages postés
15
Date d'inscription
dimanche 21 octobre 2018
Statut
Membre
Dernière intervention
7 novembre 2018
-
Messages postés
14675
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 juin 2020
-
Bonsoir, j'aimerai optimiser mon code je vous explique

J'ai fais un petit logiciel et le soucis c'est que les bouton de la form me plait pas trop donc j'ai voulu faire à ma manière, donc j'ai fais un panel, un label et une picturebox.

J'ai fais des événement pour que quand ont passe la souris sur le panel ça change la couleur de fond etc.. mais du coup j'ai du faire ça pour le label, et la picturebox faire pareille pour le click j'ai mis le code sur le label, la picturebox et le panel et du coup c'est pas très optimiser et j'aimerai savoir si il était possible de optimiser tout ça

Voici le code :

    Private Sub Panel3_Click(sender As Object, e As EventArgs) Handles Panel3.Click
        Dim sfd As New SaveFileDialog
        sfd.Filter = "Image PNG|*.png|Image JPEG|*.jpg"
        sfd.FileName = ""
        sfd.Title = "Choisir une destination"

        If sfd.ShowDialog = Windows.Forms.DialogResult.OK Then
            PictureBox1.Image.Save(sfd.FileName)
        End If
    End Sub
    Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click
        Dim sfd As New SaveFileDialog
        sfd.Filter = "Image PNG|*.png|Image JPEG|*.jpg"
        sfd.FileName = ""
        sfd.Title = "Choisir une destination"

        If sfd.ShowDialog = Windows.Forms.DialogResult.OK Then
            PictureBox1.Image.Save(sfd.FileName)
        End If
    End Sub
    Private Sub PictureBox4_Click(sender As Object, e As EventArgs) Handles PictureBox4.Click
        Dim sfd As New SaveFileDialog
        sfd.Filter = "Image PNG|*.png|Image JPEG|*.jpg"
        sfd.FileName = ""
        sfd.Title = "Choisir une destination"

        If sfd.ShowDialog = Windows.Forms.DialogResult.OK Then
            PictureBox1.Image.Save(sfd.FileName)
        End If
    End Sub
    Private Sub Panel3_MouseHover(sender As Object, e As EventArgs) Handles Panel3.MouseHover
        Panel3.BackColor = Color.FromArgb(50, Color.SkyBlue)
    End Sub
    Private Sub Label3_MouseHover(sender As Object, e As EventArgs) Handles Label3.MouseHover
        Panel3.BackColor = Color.FromArgb(50, Color.SkyBlue)
    End Sub
    Private Sub PictureBox4_MouseHover(sender As Object, e As EventArgs) Handles PictureBox4.MouseHover
        Panel3.BackColor = Color.FromArgb(50, Color.SkyBlue)
    End Sub
    Private Sub Panel3_MouseLeave(sender As Object, e As EventArgs) Handles Panel3.MouseLeave
        Panel3.BackColor = DefaultBackColor
    End Sub
    Private Sub Label3_MouseLeave(sender As Object, e As EventArgs) Handles Label3.MouseLeave
        Panel3.BackColor = DefaultBackColor
    End Sub
    Private Sub PictureBox4_MouseLeave(sender As Object, e As EventArgs) Handles PictureBox4.MouseLeave
        Panel3.BackColor = DefaultBackColor
    End Sub

1 réponse

Messages postés
14675
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 juin 2020
143
Regardes peut être pour faire un contrôle utilisateur, ce sera plus propre et réutilisable.

Sinon, la clause Handles peut prendre plusieurs cibles, si celle-ci on la même signature :

Private Sub ..._Click(...) Handles Controle1.Click, Controle2.Click, ...
Messages postés
15
Date d'inscription
dimanche 21 octobre 2018
Statut
Membre
Dernière intervention
7 novembre 2018

Comment ont fais un contrôle utilisateur ?
Messages postés
14675
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 juin 2020
143
Un clic droit sur le projet -> Ajouter -> Contrôle utilisateur
Tu le créé (pose tes controles et le code) puis tu pourra l'insérer dans les autres forms et controles personnalisés.