ToolStripItem.DragEnter 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í.
Nastane, když uživatel přetáhne položku do klientské oblasti této položky.
public:
event System::Windows::Forms::DragEventHandler ^ DragEnter;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler DragEnter;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler? DragEnter;
[<System.ComponentModel.Browsable(false)>]
member this.DragEnter : System.Windows.Forms.DragEventHandler
Public Custom Event DragEnter As DragEventHandler
Event Type
- Atributy
Příklady
Následující příklad kódu ukazuje, jak převést X vlastnosti a Y na klienta Point. Tento příklad kódu je součástí většího příkladu ToolStripRenderer pro třídu.
// This method defines the DragOver event behavior.
protected override void OnDragOver(DragEventArgs dea)
{
base.OnDragOver(dea);
// Get the ToolStripButton control
// at the given mouse position.
Point p = new Point(dea.X, dea.Y);
ToolStripButton item = this.GetItemAt(
this.PointToClient(p)) as ToolStripButton;
// If the ToolStripButton control is the empty cell,
// indicate that the move operation is valid.
if( item == this.emptyCellButton )
{
// Set the drag operation to indicate a valid move.
dea.Effect = DragDropEffects.Move;
}
}
' This method defines the DragOver event behavior.
Protected Overrides Sub OnDragOver(dea As DragEventArgs)
MyBase.OnDragOver(dea)
' Get the ToolStripButton control
' at the given mouse position.
Dim p As New Point(dea.X, dea.Y)
Dim item As ToolStripButton = CType(Me.GetItemAt(Me.PointToClient(p)), ToolStripButton)
' If the ToolStripButton control is the empty cell,
' indicate that the move operation is valid.
If item Is Me.emptyCellButton Then
' Set the drag operation to indicate a valid move.
dea.Effect = DragDropEffects.Move
End If
End Sub
Poznámky
Událost DragEnter je vyvolána, když uživatel poprvé přetáhne kurzor myši na položku během operace přetažení.
Následující poznámky popisují, jak a kdy jsou vyvolány události související s operacemi přetažení.
Metoda DoDragDrop určuje položku pod aktuálním umístěním kurzoru. Pak zkontroluje, jestli je položka platným cílem pro vyřazení.
Pokud je položka platným cílem přetažení, GiveFeedback událost se vyvolá se zadaným efektem přetažení. Seznam efektů přetažení najdete ve výčtu DragDropEffects .
Změny v umístění kurzoru myši, stavu klávesnice a stavu tlačítka myši se sledují následujícím způsobem:
Pokud se uživatel přesune mimo okno, vyvolá se DragLeave událost.
Pokud myš zadá jinou položku, DragEnter je vyvolána hodnota pro tento ovládací prvek.
Pokud se myš přesune, ale zůstane ve stejné položce, vyvolá se DragOver událost.
Pokud dojde ke změně stavu klávesnice nebo tlačítka myši, QueryContinueDrag vyvolá se událost a určí, jestli chcete pokračovat v přetažení, odstranit data nebo zrušit operaci na základě hodnoty Action vlastnosti události QueryContinueDragEventArgs.
Pokud hodnota je DragActionContinue, DragOver událost se vyvolá, aby pokračovala v operaci, 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 .
Události DragOver a GiveFeedback se spárují tak, že při pohybu myši přes cíl přetažení dostane uživatel nejaktuálnější zpětnou vazbu o pozici myši, a to následujícím způsobem:
Pokud je Drophodnota DragAction je , vrátí se do zdroje hodnota efektu poklesu, takže zdrojová aplikace může se zdrojovými daty provést příslušnou operaci, například vyjmout data, pokud operace byla přesunem.
Pokud je Cancelhodnota parametru DragAction , vyvolá se DragLeave událost.
Poznámka
Vlastnosti XDragEventArgs a Y jsou v souřadnicích obrazovky, ne v souřadnicích klienta.
Další informace o zpracování událostí najdete v tématu Zpracování a vyvolávání událostí.