Optimisez mon code visual basic [Résolu]

Messages postés
15
Date d'inscription
dimanche 21 octobre 2018
Dernière intervention
7 novembre 2018
- 23 oct. 2018 à 21:37 - Dernière réponse :
Messages postés
14299
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 novembre 2018
- 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
Afficher la suite 

Votre réponse

3 réponses

Messages postés
14299
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 novembre 2018
- 23 oct. 2018 à 22:02
0
Merci
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
Dernière intervention
7 novembre 2018
- 23 oct. 2018 à 22:05
Comment ont fais un contrôle utilisateur ?
Messages postés
14299
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
16 novembre 2018
- 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.
Commenter la réponse de NHenry

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.