Esporta (0) Stampa
Espandi tutto
Espandi Riduci a icona
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Enumerazione DragDropEffects

Specifica i possibili effetti di un'operazione di trascinamento della selezione.

Questa enumerazione dispone di un attributo FlagsAttribute che consente una combinazione bit per bit dei valori dei membri.

Spazio dei nomi:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

[FlagsAttribute]
public enum DragDropEffects

Nome membroDescrizione
Allla combinazione di Copy, Movee Scroll effetti.
CopyI dati dell'origine di trascinamento vengono copiati nella destinazione di rilascio.
LinkI dati dell'origine di trascinamento vengono collegati alla destinazione di rilascio.
MoveI dati dell'origine di trascinamento vengono spostati nella destinazione di rilascio.
NoneLa destinazione di rilascio non accetta i dati.
ScrollLa destinazione è possibile scorrere mentre trascina per individuare una destinazione denominata che non è attualmente visibile nel database di destinazione.

Questa enumerazione utilizzata dalle classi seguenti: DragEventArgs, GiveFeedbackEventArgse Control.

È possibile utilizzare DragDropEffects per visualizzare i puntatori del mouse diversi per le operazioni di trascinamento della selezione. Ad esempio, è possibile visualizzare una classe più il simbolo da un oggetto Copy operazione di trascinamento della selezione, un simbolo della freccia per un oggetto Move operazione di trascinamento della selezione, o un cerchio rosso con una linea tra i simboli per un oggetto None operazione di trascinamento della selezione.

Se si desidera rilasciare i dati in una posizione nel database di destinazione che non è attualmente visibile, è possibile scorrere il database di destinazione durante trascinavi. Se una destinazione non supporta lo scorrimento, è necessario assicurarsi che il percorso di destinazione sia visibile nel database di destinazione prima di avviare l'operazione di trascinamento della selezione. Di seguito sono riportati alcuni scenari quando si desidera scorrere un database di destinazione:

  • Si trascina il testo in un documento e si desidera rilasciare il testo in una posizione non visibile nella finestra del documento.

  • Si trascina un file in una struttura ad albero di file e si desidera rilasciare il file su un nodo non visibile nella struttura ad albero di file.

Questo esempio di codice viene illustrato l'utilizzo di DragDropEffects enumerazione quando l'utente sposta il mouse sulla destinazione di rilascio durante un'operazione di trascinamento della selezione. Questo esempio di codice fa parte di un esempio più esaustivo fornito per DoDragDrop metodo di Control classe. vedere DoDragDrop metodo per l'esempio di codice completo.


private void ListDragTarget_DragOver(object sender, System.Windows.Forms.DragEventArgs e) 
{

    // Determine whether string data exists in the drop data. If not, then
    // the drop effect reflects that the drop cannot occur.
    if (!e.Data.GetDataPresent(typeof(System.String))) {

        e.Effect = DragDropEffects.None;
        DropLocationLabel.Text = "None - no string data.";
        return;
    }

    // Set the effect based upon the KeyState.
    if ((e.KeyState & (8+32)) == (8+32) && 
        (e.AllowedEffect & DragDropEffects.Link) == DragDropEffects.Link) {
        // KeyState 8 + 32 = CTL + ALT

        // Link drag-and-drop effect.
        e.Effect = DragDropEffects.Link;

    } else if ((e.KeyState & 32) == 32 && 
        (e.AllowedEffect & DragDropEffects.Link) == DragDropEffects.Link) {

        // ALT KeyState for link.
        e.Effect = DragDropEffects.Link;

    } else if ((e.KeyState & 4) == 4 && 
        (e.AllowedEffect & DragDropEffects.Move) == DragDropEffects.Move) {

        // SHIFT KeyState for move.
        e.Effect = DragDropEffects.Move;

    } else if ((e.KeyState & 8) == 8 && 
        (e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy) {

        // CTL KeyState for copy.
        e.Effect = DragDropEffects.Copy;

    } else if ((e.AllowedEffect & DragDropEffects.Move) == DragDropEffects.Move)  {

        // By default, the drop action should be move, if allowed.
        e.Effect = DragDropEffects.Move;

    } else
        e.Effect = DragDropEffects.None;

    // Get the index of the item the mouse is below. 

    // The mouse locations are relative to the screen, so they must be 
    // converted to client coordinates.

    indexOfItemUnderMouseToDrop = 
        ListDragTarget.IndexFromPoint(ListDragTarget.PointToClient(new Point(e.X, e.Y)));

    // Updates the label text.
    if (indexOfItemUnderMouseToDrop != ListBox.NoMatches){

        DropLocationLabel.Text = "Drops before item #" + (indexOfItemUnderMouseToDrop + 1);
    } else
        DropLocationLabel.Text = "Drops at the end.";

}


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2015 Microsoft