DragAndDrop inverser des couleurs

Résolu
Chihaya - Modifié par Chihaya le 2/04/2014 à 21:24
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 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


Merci :3

6 réponses

Zermelo
Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
14
3 avril 2014 à 15:10
Bonjour Chihaya.

Il faudrait d'abord préciser ce que vous entendez par le contraire d'une couleur.

Cordialement
0
"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.
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
3 avril 2014 à 19:42
Bonjour,
Utilise alors la propriété tag (par exemple).
Elle peut servir notamment à cela.
0
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
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
0
ça ne me pose pas vraiment de problèmes, mais ça ne marche pas :/ j'ai juste le droit à un refresh de l'icone "+1"
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
3 avril 2014 à 22:34
Bon...
je l'ai fait moi-même à ta place (il est maintenant à 0)
0