读书人

C#中施用DragDrop、DragEnter、DragLe

发布时间: 2011-12-24 23:03:24 作者: rapoo

C#中使用DragDrop、DragEnter、DragLeave、DragOver等事件有行,原因是什?
C#中使用DragDrop、DragEnter、DragLeave、DragOver等事件有行,原因是什?

先置ListDragTarget.AllowDrop=true;
private void ListDragTarget_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
MessageBox.Show( "Drop ");
//e.Effect
if (e.Data.GetDataPresent(typeof(System.String)))
{

Object item = (object)e.Data.GetData(typeof(System.String));

// Perform drag and drop, depending upon the effect.
if (e.Effect == DragDropEffects.Copy ||
e.Effect == DragDropEffects.Move)
{

// Insert the item.
if (indexOfItemUnderMouseToDrop != ListBox.NoMatches)
ListDragTarget.Items.Insert(indexOfItemUnderMouseToDrop, item);
else
ListDragTarget.Items.Add(item);

}
}
// Reset the label text.
DropLocationLabel.Text = "None ";

}

[解决办法]
首先要有 MouseMove 事件啊
才谈得上 Drag
[解决办法]
补充一下 首先是 MouseDown 确定拖动的东西
然后 MouseMove 里执行 DoDragDrop 来传递数据

读书人网 >C#

热点推荐