Sdílet prostřednictvím


Funkce přetažení ve Windows Forms

Windows Forms obsahuje sadu metod, událostí a tříd, které implementují mechanismus přetahování. Toto téma obsahuje přehled podpory přetažení ve Windows Forms. Viz také operace přetažení a podpora schránky.

Provádění operací táhni a pusť

K provedení operace přetažení použijte metodu DoDragDrop třídy Control. Další informace o tom, jak se provádí operace přetažení, naleznete v části DoDragDrop. Chcete-li získat obdélník, přes který musí být ukazatel myši přetažen před zahájením operace přetažení, použijte vlastnost DragSize třídy SystemInformation.

Operace přetažení obsahuje dvě kategorie událostí: události, ke kterým dochází v aktuálním cíli operace přetažení, a události, ke kterým dochází ve zdroji operace přetažení.

Události v aktuálním cíli

V následující tabulce jsou uvedeny události, ke kterým dochází v aktuálním cíli operace přetažení.

Událost myši v počítači Popis
DragEnter K této události dochází, když je objekt přetažen do hranic ovládacího prvku. Obsluha pro tuto událost obdrží argument typu DragEventArgs.
DragOver K této události dochází, když je objekt přetažen, zatímco ukazatel myši je v mezích ovládacího prvku. Obslužná rutina pro tuto událost obdrží argument typu DragEventArgs.
DragDrop K této události dojde při dokončení operace přetažení. Obsluha pro tuto událost obdrží argument typu DragEventArgs.
DragLeave K této události dochází, když je objekt přetažen z hranic ovládacího prvku. Obslužná rutina pro tuto událost obdrží argument typu EventArgs.

Třída DragEventArgs poskytuje informace o umístění ukazatele myši, aktuálním stavu tlačítek myši a modifikačních klávesách klávesnice, o datech, která se přetahují, a o hodnotách DragDropEffects, které určují operace povolené zdrojem události přetažení a cílový efekt operace.

Události ve zdroji

Následující tabulka ukazuje události, které se dějí na zdroji operace přetahování.

Událost myši Popis
GiveFeedback K této události dochází během operace přetažení. Umožňuje dát uživateli vizuální vodítko, že probíhá operace přetažení, například pomocí změny ukazatele myši. Obslužná rutina pro tuto událost obdrží argument typu GiveFeedbackEventArgs.
QueryContinueDrag Tato událost je vyvolána během operace přetažení a vložení a umožňuje zdroji přetažení určit, zda má být operace přetažení a vložení zrušena. Obslužná rutina pro tuto událost obdrží argument typu QueryContinueDragEventArgs.

Třída QueryContinueDragEventArgs poskytuje aktuální stav tlačítek myši a modifikační klávesy klávesnice, hodnotu určující, zda byla stisknuta klávesa ESC, a DragAction hodnotu, která může být nastavena tak, aby určila, zda má operace přetažení pokračovat.

Viz také