morickno
Messages postés117Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention26 juin 2007
-
22 juin 2005 à 15:46
njck671
Messages postés31Date d'inscriptiondimanche 10 août 2003StatutMembreDernière intervention28 juin 2005
-
29 juin 2005 à 17:41
J'ai fait un test de drag & drop d'une image.
Ca marche très bien pour le déplacement mais j'aurrai voulu
au lieu que ca déplace, que ca copie l'image. j'ai regarder dans
les questions et les codes existant mais j'ai rien trouvé.
njck671
Messages postés31Date d'inscriptiondimanche 10 août 2003StatutMembreDernière intervention28 juin 2005 29 juin 2005 à 14:25
jacknjck671
il faut que ton panel accepte le dragdrop....
dans l'evenement dragdrop du panel,utilise la methode effect.
voici un codesample de msdn qui est livré avec whidbey, si ça peut t'aider
Private Sub ListDragTarget_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles ListDragTarget.DragDrop
' Ensures that the list item index is contained in the data.
If (e.Data.GetDataPresent(GetType(System.string))) Then
Dim item As Object = CType(e.Data.GetData(GetType(System.string)), System.Object)
' Perform drag and drop, depending upon the effect.
If (e.Effect = DragDropEffects.Copy Or _
e.Effect = DragDropEffects.Move) Then
' Insert the item.
If (indexOfItemUnderMouseToDrop <> ListBox.NoMatches) Then
ListDragTarget.Items.Insert(indexOfItemUnderMouseToDrop, item)
Else
ListDragTarget.Items.Add(item)
End If
End If
' Reset the label text.
DropLocationLabel.Text = "None"
End If
End Sub
il faudra surement que tu convertisse le string pour recuperer une url a partir de laquelle le panel choisira son image....
njck671
Messages postés31Date d'inscriptiondimanche 10 août 2003StatutMembreDernière intervention28 juin 2005 29 juin 2005 à 17:41
jacknjck671
bon, j'ai trouvé un meilleur exemple, ouvre un nouveau projet et insere ces lignes dans la class Form1....pour l'adapter au projet auquel tu travaille, assure toi que les controles conteneurs de ton image supporte le dragdrop( tu le vois dans les proprietes, par exemple, une picture box n'a pas la propriete allowdrop, donc tu pourra pas y inserer directement des images)
Public
Class Form1
Private picture
As Image
Private pictureLocation
As Point
'PENSER A >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Me.AllowDrop = True
Protected
Overrides
Sub OnPaint(
ByVal e
As PaintEventArgs)
MyBase.OnPaint(e)
' If there is an image and it has a location,
' paint it when the Form is repainted.
If
Not (
Me.picture
Is
Nothing)
And _
Not (
Me.pictureLocation.Equals(Point.Empty))
Then