Export (0) Print
Expand All

RichTextBox.AllowDrop Property

Gets or sets a value indicating whether the control will enable drag-and-drop operations.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public override bool AllowDrop { get; set; }
/** @property */
public boolean get_AllowDrop ()

/** @property */
public void set_AllowDrop (boolean value)

public override function get AllowDrop () : boolean

public override function set AllowDrop (value : boolean)

Not applicable.

Property Value

true if drag-and-drop is enabled in the control; otherwise, false.

The following code example demonstrates how to perform drag-and-drop operations using a ListBox control that contains items to drop into a RichTextBox control. The constructor of the form sets the AllowDrop property to true to enable drag-and-drop operations to occur in the RichTextBox. The example uses the MouseDown event of the ListBox to start the drag operation by calling the DoDragDrop method. The example uses the DragEnter event to determine if an item being dragged into the RichTextBox is a valid data type. The DragDrop event performs the actual dropping of a dragged item into the RichTextBox control at the current cursor location within the RichTextBox. This example requires that the DragDrop and DragEnter events have been connected to the event handlers defined in the example.

public Form1()
{
   InitializeComponent();
   // Sets the control to allow drops, and then adds the necessary event handlers.
   this.richTextBox1.AllowDrop = true;
}
 
private void listBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
   // Determines which item was selected.
   ListBox lb =( (ListBox)sender);
   Point pt = new Point(e.X,e.Y);
   //Retrieve the item at the specified location within the ListBox.
   int index = lb.IndexFromPoint(pt);

   // Starts a drag-and-drop operation.
   if(index>=0) 
   {
      // Retrieve the selected item text to drag into the RichTextBox.
      lb.DoDragDrop(lb.Items[index].ToString(), DragDropEffects.Copy);
   }
}

private void richTextBox1_DragEnter(object sender, DragEventArgs e)
{
   // If the data is text, copy the data to the RichTextBox control.
   if(e.Data.GetDataPresent("Text"))
      e.Effect = DragDropEffects.Copy;
}

private void richTextBox1_DragDrop(object sender, DragEventArgs e) 
{
   // Paste the text into the RichTextBox where at selection location.
   richTextBox1.SelectedText =  e.Data.GetData("System.String", true).ToString();
}


public Form1()
{
    InitializeComponent();
    //Sets the control to allow drops, and then adds the necessary 
    //event handlers.
    this.richTextBox1.set_AllowDrop(true);
} //Form1

private void listBox1_MouseDown(Object sender, System.Windows.Forms.
    MouseEventArgs e)
{
    //Determines which item was selected.
    ListBox lb =(ListBox)sender;
    Point pt = new Point(e.get_X(), e.get_Y());
    //Retrieve the item at the specified location within the ListBox.
    int index = lb.IndexFromPoint(pt);
    //Starts a drag-and-drop operation.
    if (index >= 0) {
        //Retrieve the selected item text to drag into the RichTextBox.
        lb.DoDragDrop(lb.get_Items().get_Item(index).ToString(), 
            DragDropEffects.Copy);
    }
} //listBox1_MouseDown

private void richTextBox1_DragEnter(Object sender, DragEventArgs e)
{
    // If the data is text, copy the data to the RichTextBox control.
    if (e.get_Data().GetDataPresent("Text")) {
        e.set_Effect(DragDropEffects.Copy);
    }
} //richTextBox1_DragEnter

private void richTextBox1_DragDrop(Object sender, DragEventArgs e)
{
    // Paste the text into the RichTextBox where at selection location.
    richTextBox1.set_SelectedText(e.get_Data().GetData("System.String", true).
        ToString());
} //richTextBox1_DragDrop

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft