ToolStripItem.AllowDrop 屬性


取得或設定值,指出拖放和項目的重新排列是否透過您實作的事件來加以處理。Gets or sets a value indicating whether drag-and-drop and item reordering are handled through events that you implement.

 virtual property bool AllowDrop { bool get(); void set(bool value); };
public virtual bool AllowDrop { get; set; }
member this.AllowDrop : bool with get, set
Public Overridable Property AllowDrop As Boolean


如果控制項內允許拖放作業,則為 true,否則為 falsetrue if drag-and-drop operations are allowed in the control; otherwise, false. 預設為 falseThe default is false.



AllowDropAllowItemReorder 都會設定為 trueAllowDrop and AllowItemReorder are both set to true.


下列程式碼範例示範如何設定 AllowDrop 屬性。The following code example demonstrates how to set the AllowDrop property. 這個程式碼範例是針對 ToolStripItem 類別所提供的較大範例的一部分。This code example is part of a larger example provided for the ToolStripItem class.

// This utility method creates a RolloverItem 
// and adds it to a ToolStrip control.
private RolloverItem CreateRolloverItem(
    ToolStrip owningToolStrip,
    string txt,
    Font f,
    string imgKey,
    TextImageRelation tir,
    string backImgKey)
    RolloverItem item = new RolloverItem();

    item.Alignment = ToolStripItemAlignment.Left;
    item.AllowDrop = false;
    item.AutoSize = true;

    item.BackgroundImage = owningToolStrip.ImageList.Images[backImgKey];
    item.BackgroundImageLayout = ImageLayout.Center;
    item.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
    item.DoubleClickEnabled = true;
    item.Enabled = true;
    item.Font = f;

    // These assignments are equivalent. Each assigns an
    // image from the owning toolstrip's image list.
    item.ImageKey = imgKey;
    //item.Image = owningToolStrip.ImageList.Images[infoIconKey];
    //item.ImageIndex = owningToolStrip.ImageList.Images.IndexOfKey(infoIconKey);
    item.ImageScaling = ToolStripItemImageScaling.None;

    item.Owner = owningToolStrip;
    item.Padding = new Padding(2);
    item.Text = txt;
    item.TextAlign = ContentAlignment.MiddleLeft;
    item.TextDirection = ToolStripTextDirection.Horizontal;
    item.TextImageRelation = tir;

    return item;
' This utility method creates a RolloverItem 
' and adds it to a ToolStrip control.
 Private Function CreateRolloverItem( _
 ByVal owningToolStrip As ToolStrip, _
 ByVal txt As String, _
 ByVal f As Font, _
 ByVal imgKey As String, _
 ByVal tir As TextImageRelation, _
 ByVal backImgKey As String) As RolloverItem

     Dim item As New RolloverItem()

     item.Alignment = ToolStripItemAlignment.Left
     item.AllowDrop = False
     item.AutoSize = True

     item.BackgroundImage = owningToolStrip.ImageList.Images(backImgKey)
     item.BackgroundImageLayout = ImageLayout.Center
     item.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
     item.DoubleClickEnabled = True
     item.Enabled = True
     item.Font = f

     ' These assignments are equivalent. Each assigns an
     ' image from the owning toolstrip's image list.
     item.ImageKey = imgKey
     'item.Image = owningToolStrip.ImageList.Images[infoIconKey];
     'item.ImageIndex = owningToolStrip.ImageList.Images.IndexOfKey(infoIconKey);
     item.ImageScaling = ToolStripItemImageScaling.None

     item.Owner = owningToolStrip
     item.Padding = New Padding(2)
     item.Text = txt
     item.TextAlign = ContentAlignment.MiddleLeft
     item.TextDirection = ToolStripTextDirection.Horizontal
     item.TextImageRelation = tir

     Return item
 End Function


將 [AllowDrop] 屬性設定為 [true],並將 AllowItemReorder 屬性設定為 [false],以回應您在 ToolStripItem.DragEnterToolStripItem.DragLeaveToolStripItem.DragDrop 事件中定義的拖放行為。Set the AllowDrop property to true and set the AllowItemReorder property to false to respond to drag-and-drop behavior you have defined in the ToolStripItem.DragEnter, ToolStripItem.DragLeave, and ToolStripItem.DragDrop events.

將 [AllowDrop] 屬性設定為 [false],並將 AllowItemReorder 屬性設定為 [true],讓 ToolStripItem 類別能夠私下處理拖放和專案的重新排列。Set the AllowDrop property to false and set the AllowItemReorder property to true to cause the ToolStripItem class to handle drag-and-drop and item reordering privately.

AllowDropAllowItemReorder 屬性同時設定為 true 會擲回例外狀況。Setting both the AllowDrop and the AllowItemReorder properties to true throws an exception.