Chaque fois que je veux laisser l'utilisateur faire glisser un contrôle, j'appelle DoDragDrop de ce contrôle.DoDragDrop() d'un autre thread
Le drag & drop fonctionne très bien, mais j'ai problème avec les choses autour de:
DoDragDrop bloquant complètement la forme, aucun événement timer sauts, aucun message de peinture traitées.
Blocage DoDragDrop non seulement pour l'opération de déplacement glisser &, mais jusqu'à ce que le programme cible finisse avec l'événement de suppression (code d'extraction I.E. explorer.exe). Selon le code de l'autre programme est nul.
Je pensais appeler DoDragDrop à partir d'un nouveau thread.
essayé ceci:
Thread dragThread = new Thread(() =>
{
Form frm = new Form();
frm.DoDragDrop("data", DragDropEffects.All);
});
dragThread.SetApartmentState(ApartmentState.STA);
dragThread.IsBackground = true;
dragThread.Start();
mais il ne semble pas fonctionner. Je veux dire: lorsque vous faites DoDragDrop à partir d'un autre thread comme celui-ci, d'autres contrôles dans mon programme ou d'autres programmes ne reçoivent pas glisser & messages.
D'autres solutions?
Que diriez-vous de fournir un peu plus d'informations sur l'échec que « ne pas travail"? – Timwi
lorsque vous effectuez DoDragDrop à partir d'un autre thread comme celui-ci, d'autres contrôles dans mon programme ou d'autres programmes ne reçoivent pas de glisser-déposer des messages. – DxCK