DragDrop.DragOver Přidružená událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyvolá se nepřetržitě, když je objekt přetažen v rámci hranic prvku, který funguje jako cíl přetažení.
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
Příklady
Následující příklad ukazuje obslužnou rutinu DragOverEllipse události pro prvek. Tento kód zkontroluje, jestli DataObject přetahování přes tři tečky obsahuje řetězcová data, která lze převést na Brush. Pokud ano, nastaví vlastnost DragEventArgs.Effects na Copy. To značí zdroji přetažení, že data lze zkopírovat do elipsy. Pokud data nelze převést na Brush, DragEventArgs.Effects vlastnost je nastavena na Nonehodnotu . To značí zdroji přetažení, že elipsa není platným cílem přetažení dat.
private void ellipse_DragOver(object sender, DragEventArgs e)
{
e.Effects = DragDropEffects.None;
// If the DataObject contains string data, extract it.
if (e.Data.GetDataPresent(DataFormats.StringFormat))
{
string dataString = (string)e.Data.GetData(DataFormats.StringFormat);
// If the string can be converted into a Brush, allow copying.
BrushConverter converter = new BrushConverter();
if (converter.IsValid(dataString))
{
e.Effects = DragDropEffects.Copy | DragDropEffects.Move;
}
}
}
Private Sub Ellipse_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
e.Effects = DragDropEffects.None
' If the DataObject contains string data, extract it.
If e.Data.GetDataPresent(DataFormats.StringFormat) Then
Dim dataString = e.Data.GetData(DataFormats.StringFormat)
' If the string can be converted into a Brush, convert it.
Dim converter As New BrushConverter()
If converter.IsValid(dataString) Then
e.Effects = DragDropEffects.Copy Or DragDropEffects.Move
End If
End If
End Sub
Poznámky
Tato událost je vyvolána nepřetržitě, když se přetahovaný objekt nachází v mezích elementu, který funguje jako cíl přetažení. Tato událost není vyvolána, pokud je false
vlastnost elementu AllowDrop .
Událost DragOver je spárována s událostí GiveFeedback ve zdroji přetažení. V obslužné rutině DragOver události obvykle kontrolujete, jestli jsou přenášená data ve formátu, který může cíl vyřazení zpracovat. Můžete také zkontrolovat, jestli jsou stisknuty nějaké modifikační klávesy, což obvykle indikuje, jestli má uživatel v úmyslu přesunout nebo zkopírovat akci. Po provedení těchto kontrol nastavíte DragEventArgs.Effects vlastnost , která zdroji přetažení oznámí, jaký vliv bude mít odstranění dat. Zdroj přetažení obdrží tyto informace ve Effects vlastnosti GiveFeedback argumentů události a může nastavit odpovídající kurzor, který uživateli poskytne zpětnou vazbu.
Informace o směrované události
Pole Identifikátor | DragOverEvent |
Strategie směrování | Bublající |
Delegát | DragEventHandler |
Odpovídající událost tunelování je PreviewDragOver.