我正在做一些非常非常简单的事情。
我有一个列表框,其事件设置如下:
public Form1()
{
InitializeComponent();
this.listBox1.AllowDrop = true;
this.listBox1.DragEnter += new DragEventHandler(listBox1_DragEnter);
this.listBox1.DragDrop += new DragEventHandler(listBox1_DragDrop);
}
void listBox1_DragDrop(object sender, DragEventArgs e)
{
//code to add labelText to Items of ListBox
}
void listBox1_DragEnter(object sender, DragEventArgs e)
{
//set DragDropEffects;
}
现在我有一个标签,代码如下:
private void label1_MouseDown(object sender, MouseEventArgs e)
{
DoDragDrop((sender as Label).Text, DragDropEffects.Copy);
//this.label1.DoDragDrop((sender as Label).Text, DragDropEffects.Copy);
//used one of them at a time.
}
但什么也没发生。列表框 DragEnter 事件永远不会触发。事实上,阻力永远不会发生。每当我尝试拖动标签(文本)时,出现不允许的 windows 光标,而不是DragDropEffects.Copy
' 的光标
拖放不会发生..
当我修改列表框(和相关代码)以接受要从任何其他窗口拖放到其上的文件时,效果很好。
所以..我无法从保持在表单上的控件拖动到保持在同一表单上的另一个控件。
我错过了什么吗?我正在运行 Windows XP。
请帮忙...