Je me demande si cela fait une différence sur quel contrôle j'appelle la méthode DoDragDrop dans une application Windows Forms.Le contrôle sur lequel vous appelez la méthode DoDragDrop est-il important?
J'ai un formulaire avec deux contrôles PictureBox. L'un peut être déplacé et l'autre a sa propriété AllowsDrop définie sur true.
Le gestionnaire d'événements MouseDown pour le draggable PictureBox est la suivante:
private void dragPictureBox_MouseDown(object sender, MouseEventArgs e)
{
if (sender is PictureBox)
{
var pictureBox = (PictureBox) sender;
var effect = pictureBox.DoDragDrop(
pictureBox.Image, DragDropEffects.All);
MessageBox.Show("Drag ended in a " + effect);
}
}
Mais au lieu d'appeler DoDragDrop sur le picturebox, je semble que je peux utiliser un contrôle, par exemple le formulaire lui-même
var effect = this.DoDragDrop(pictureBox.Image, DragDropEffects.All);
ou même
var effect = label1.DoDragDrop(pictureBox.Image, DragDropEffects.All);
Est-il un Différé nce sur quel contrôle j'appelle la méthode DoDragDrop? Et si oui, quelle est la différence?
Vous avez absolument raison. La même chose vaut pour l'événement GiveFeedback. Il est intéressant de noter que les deux événements se produisent pendant l'opération de glissement, même si la documentation indique que cela se produit uniquement lorsqu'il y a un changement dans l'état du clavier ou de la souris. – comecme