Chihaya
-
Modifié par Chihaya le 2/04/2014 à 21:24
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
3 avril 2014 à 22:34
Bonjour,
je cherche à inverser 2 backColor grâce aux events MouseMove, down, dragdrop etc...
J'ai pour l'instant réussi à copier une couleur dans un autre panel, mais comment récupérer la couleur de la cible pour la copier dans l'objet de départ ?
voilà un aperçu de se que j'obtient pour l'instant :
http://puu.sh/7TyTU.png
Et voici le code qui me permet d'effectuer cette opération (je n'ai mis que les parties concernées du code :
Private MouseIsDown As Boolean = False
Private Sub Panelcouleur_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Pblanc.MouseDown,[...] ,Pviolet.MouseDown
MouseIsDown = True
End Sub
Private Sub panelCouleur_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Pblanc.MouseMove,[...] , Pviolet.MouseMove
If MouseIsDown Then
actualPanel = CType(sender, Panel)
actualPanel.DoDragDrop(actualPanel.BackColor.Name, DragDropEffects.Copy Or DragDropEffects.Move)
End If
MouseIsDown = False
End Sub
Private Sub panelCouleur_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Pblanc.DragEnter,[...], Pviolet.DragEnter
If (e.Data.GetDataPresent(DataFormats.Text)) Then
e.Effect = DragDropEffects.Copy
Else
e.Effect = DragDropEffects.None
End If
End Sub
Private Sub panelCouleur_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Pblanc.DragDrop,[...], Pviolet.DragDrop
sender.backcolor = actualPanel.BackColor
End Sub
"récupérer la couleur de la cible pour la copier dans l'objet de départ ?" Autant pour moi, je ne l'ai peut-être pas dit correctement.
Dans l'exemple je copie la couleur du panel rouge dans le panel marron clair, mais j'aimerai ensuite que le premier panel rouge change de couleur et devienne marron clair. Je voudrai pouvoir Intervertir les couleurs de 2 panels.
Merci beaucoup !! je ne connaissais pas cette propriété *-* il suffisait donc d'ajouter dans la procédure panelCouleur_DragDrop les 2 lignes suivantes :
actualPanel.Tag = sender.backcolor
sender.backcolor = actualPanel.BackColor 'ligne déjà présente dans le code d'origine
actualPanel.BackColor = actualPanel.Tag
Encore merci, problème résolu :3
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018209 3 avril 2014 à 20:28
Content pour toi, mais veux-tu bien s'il te plait enlever ton + 1 ?
Je t'en remercie (bien évidemment), mais je préfère que l'on réserve cette "notation" aux réponses qui sortent vraiment de l'ordinaire.
Annule ce +1 en cliquant sur -1
Amitiés