Optimisez mon code visual basic

Résolu
Donovan309 Messages postés 15 Date d'inscription dimanche 21 octobre 2018 Statut Membre Dernière intervention 7 novembre 2018 - 23 oct. 2018 à 21:37
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 24 oct. 2018 à 20:35
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

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
23 oct. 2018 à 22:02
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, ...
0
Donovan309 Messages postés 15 Date d'inscription dimanche 21 octobre 2018 Statut Membre Dernière intervention 7 novembre 2018
23 oct. 2018 à 22:05
Comment ont fais un contrôle utilisateur ?
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
24 oct. 2018 à 20:35
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.
0
Rejoignez-nous