(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Control.AllowDrop-Eigenschaft

Ruft einen Wert ab, der angibt ob das Steuerelement Daten annehmen kann, die vom Benutzer darauf gezogen wurden, oder legt diesen fest.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public virtual bool AllowDrop { get; set; }

Eigenschaftswert

Typ: System.Boolean
true , wenn Drag & Drop-Vorgänge für das Steuerelement zulässig sind, andernfalls false. Die Standardeinstellung ist false.

Hinweise zur Vererbung

Verwenden Sie beim Überschreiben der AllowDrop-Eigenschaft in einer abgeleiteten Klasse die AllowDrop-Eigenschaft der Basisklasse, um die Basisimplementierung zu erweitern. Andernfalls müssen Sie die gesamte Implementierung bereitstellen. Sie müssen nicht sowohl den get-Accessor als auch den set-Accessor der AllowDrop-Eigenschaft überschreiben. Sie können ggf. auch nur einen Accessor überschreiben.

Im folgenden Codebeispiel kann der Benutzer ein Bild oder eine Bilddatei in das Formular ziehen und an der Stelle ablegen, an der das Element angezeigt werden soll. Die OnPaint-Methode wird überschrieben, sodass das Bild jedesmal neu gezeichnet wird, wenn das Formular gezeichnet wird. Andernfalls würde das Bild nur bis zum nächsten Neuzeichnen beibehalten werden. Die DragEnter-Ereignisbehandlungsmethode bestimmt den Datentyp, der in das Formular gezogen wird, und reagiert entsprechend. Die DragDrop-Ereignisbehandlungsmethode zeigt das Bild im Formular an, wenn aus den Daten ein Image erstellt werden kann. Die Werte DragEventArgs.X und DragEventArgs.Y sind Bildschirmkoordinaten. Daher wird im Beispiel die PointToClient-Methode verwendet, um sie in Clientkoordinaten umzuwandeln.


private Image picture;
private Point pictureLocation;

public Form1()
{
   // Enable drag-and-drop operations and 
   // add handlers for DragEnter and DragDrop.
   this.AllowDrop = true;
   this.DragDrop += new DragEventHandler(this.Form1_DragDrop);
   this.DragEnter += new DragEventHandler(this.Form1_DragEnter);
}

protected override void OnPaint(PaintEventArgs e)
{
   // If there is an image and it has a location, 
   // paint it when the Form is repainted.
   base.OnPaint(e);
   if(this.picture != null && this.pictureLocation != Point.Empty)
   {
      e.Graphics.DrawImage(this.picture, this.pictureLocation);
   }
}

private void Form1_DragDrop(object sender, DragEventArgs e)
{
   // Handle FileDrop data.
   if(e.Data.GetDataPresent(DataFormats.FileDrop) )
   {
      // Assign the file names to a string array, in 
      // case the user has selected multiple files.
      string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
      try
      {
         // Assign the first image to the picture variable.
         this.picture = Image.FromFile(files[0]);
         // Set the picture location equal to the drop point.
         this.pictureLocation = this.PointToClient(new Point(e.X, e.Y) );
      }
      catch(Exception ex)
      {
         MessageBox.Show(ex.Message);
         return;
      }
   }

   // Handle Bitmap data.
   if(e.Data.GetDataPresent(DataFormats.Bitmap) )
   {
      try
      {
         // Create an Image and assign it to the picture variable.
         this.picture = (Image)e.Data.GetData(DataFormats.Bitmap);
         // Set the picture location equal to the drop point.
         this.pictureLocation = this.PointToClient(new Point(e.X, e.Y) );
      }
      catch(Exception ex)
      {
         MessageBox.Show(ex.Message);
         return;
      }
   }
   // Force the form to be redrawn with the image.
   this.Invalidate();
}

private void Form1_DragEnter(object sender, DragEventArgs e)
{
   // If the data is a file or a bitmap, display the copy cursor.
   if (e.Data.GetDataPresent(DataFormats.Bitmap) || 
      e.Data.GetDataPresent(DataFormats.FileDrop) ) 
   {
      e.Effect = DragDropEffects.Copy;
   }
   else
   {
      e.Effect = DragDropEffects.None;
   }
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt 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 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft