Control.DragLeave Událost

Definice

Vyvolá se při přetažení objektu mimo hranice ovládacího prvku.

public:
 event EventHandler ^ DragLeave;
public event EventHandler DragLeave;
public event EventHandler? DragLeave;
member this.DragLeave : EventHandler 
Public Custom Event DragLeave As EventHandler 

Event Type

Příklady

Následující příklad kódu ukazuje operaci přetažení mezi dvěma ListBox ovládacími prvky. Příklad volá metodu DoDragDrop při spuštění akce přetažení. Akce přetažení se spustí, pokud se myš během MouseDown události přesunula více než SystemInformation.DragSize z umístění myši. Metoda IndexFromPoint se používá k určení indexu položky, která se má během MouseDown události přetáhnout.

Příklad také ukazuje použití vlastních kurzorů pro operaci přetažení. Příklad vyžaduje, 3dwarro.cur aby v adresáři aplikace existovaly dva soubory kurzoru a 3dwno.cur, pro vlastní kurzory přetahování a bez přetažení. Vlastní kurzory se použijí, pokud je zaškrtnuté UseCustomCursorsCheckCheckBox políčko . Vlastní kurzory jsou nastaveny v obslužné rutině GiveFeedback události.

Stav klávesnice se vyhodnocuje v DragOver obslužné rutině události pro pravou ListBox, aby bylo možné určit, jaká bude operace přetažení na základě stavu kláves SHIFT, CTRL, ALT nebo CTRL+ALT. Během události se určí také umístění v ListBox místě, kde by k poklesu DragOver došlo. Pokud data, která se mají vypustit, nejsou String, DragEventArgs.Effect nastaví se v DragDropEffectsna None hodnotu . Nakonec se stav přetažení zobrazí v DropLocationLabelLabel.

Data, která se mají vpravo vynechat ListBox , se určí v obslužné rutině DragDrop události a String hodnota se přidá na příslušném místě v ListBox. Pokud se operace přetažení přesune mimo hranice formuláře, operace přetažení se v obslužné rutině QueryContinueDrag události zruší.

Tento úryvek z kódu ukazuje použití DragLeave události . Kompletní příklad kódu najdete v DoDragDrop metodě .

void ListDragTarget_DragLeave( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
  // Reset the label text.
   DropLocationLabel->Text = "None";
}
private void ListDragTarget_DragLeave(object sender, EventArgs e)
{
    // Reset the label text.
    DropLocationLabel.Text = "None";
}
Private Sub ListDragTarget_DragLeave(ByVal sender As Object, ByVal e As EventArgs) Handles ListDragTarget.DragLeave
    ' Reset the label text.
    DropLocationLabel.Text = "None"
End Sub

Poznámky

Událost DragLeave je vyvolána, když uživatel přetáhne kurzor z ovládacího prvku nebo zruší aktuální operaci přetažení.

Následující článek popisuje, jak a kdy jsou vyvolány události související s operacemi přetahování.

Metoda DoDragDrop určuje ovládací prvek pod aktuálním umístěním kurzoru. Pak zkontroluje, jestli je ovládací prvek platným cílem přetažení.

Pokud je ovládací prvek platným cílem přetažení, GiveFeedback událost je vyvolána se zadaným efektem přetažení. Seznam efektů přetažení najdete ve výčtu DragDropEffects .

Změny v pozici kurzoru myši, stavu klávesnice a stavu tlačítka myši se sledují.

  • Pokud se uživatel přesune z okna, DragLeave událost se vyvolá.

  • Pokud myš přejde do jiného ovládacího prvku, DragEnter je aktivována hodnota pro tento ovládací prvek.

  • Pokud se myš přesune, ale zůstane ve stejném ovládacím DragOver prvku, vyvolá se událost.

Pokud dojde ke změně stavu tlačítka klávesnice nebo myši, QueryContinueDrag událost je vyvolána a určuje, zda pokračovat v přetažení, odstranit data nebo zrušit operaci na základě hodnoty Action vlastnosti události QueryContinueDragEventArgs.

  • Pokud je Continuehodnota DragAction , DragOver událost se vyvolá, aby operace pokračovala, a GiveFeedback událost se vyvolá s novým efektem, aby bylo možné nastavit odpovídající vizuální zpětnou vazbu. Seznam platných efektů přetažení najdete ve výčtu DragDropEffects .

    Poznámka

    DragOver Události a GiveFeedback se spárují tak, že když se myš přesune přes cíl přetažení, dostane uživatel nejaktuálnější zpětnou vazbu ohledně pozice myši.

  • Pokud je Drophodnota DragAction hodnota , vrátí se zdroji hodnota efektu poklesu, aby zdrojová aplikace mohl se zdrojovými daty provést příslušnou operaci, například vyjmout data, pokud se operace provedla přesunem.

  • Pokud je Cancelhodnota , DragActionDragLeave událost se vyvolá.

Další informace o zpracování událostí najdete v tématu Zpracování a vyvolávání událostí.

Platí pro

Viz také