目前需要将任意一个Label控件对象拖入任意一个Panel控件中。一旦松开鼠标,那么拖拽过程结束。此时应当处理Panel控件的DragDrop事件。
请问,在Panel控件的DragDrop事件中,如何获取Label控件对象,用来判断拖入Panel控件的是哪个Label控件对象(label1、label2、label3)。
10 个解决方案
#1
通过label的tag标签
#2
能具体点吗?谢谢!
#4
关键想知道在Panel控件的拖拽DragDrop事件中,如何通过label的tag标签获取具体是哪个label对象被拖入panel控件中?
#5
其实不用tag,你将label的Name传递过去,然后在DragDrop中通过GetData获取Name,这时候就可以FindControl了
#6
能具体点吗?谢谢!
#7
e.Data.GetData,查看这个方法的几种重构方法
然后label的MouseDown事件中((Label)sender).DoDragDrop("Name", DragDropEffects.Move | DragDropEffects.Copy);
然后label的MouseDown事件中((Label)sender).DoDragDrop("Name", DragDropEffects.Move | DragDropEffects.Copy);
#8
在panel的DragDrop事件中,用下面的代码无法获取到Label对象,请问怎么改下?
private void label1_MouseDown(object sender, MouseEventArgs e)
{
//左键的话(表示拖拽开始)
if ((e.Button == System.Windows.Forms.MouseButtons.Left))
{
label1.DoDragDrop(label1, DragDropEffects.Copy | DragDropEffects.Move);
//形成拖拽效果,移动+拷贝的组合效果
}
}
private void panel1_DragDrop(object sender, DragEventArgs e)
{
object aa = e.Data.GetData("Name"); //取不到label1这个对象,这个地方应该如何改下?
}
#9
e.Data.GetData(typeof(Label))
直接传Label,不知道这样可不可行
#10
Dim a As Label = e.Data.GetData(GetType(Label).FullName, True)
#1
通过label的tag标签
#2
能具体点吗?谢谢!
#3
#4
关键想知道在Panel控件的拖拽DragDrop事件中,如何通过label的tag标签获取具体是哪个label对象被拖入panel控件中?
#5
其实不用tag,你将label的Name传递过去,然后在DragDrop中通过GetData获取Name,这时候就可以FindControl了
#6
能具体点吗?谢谢!
#7
e.Data.GetData,查看这个方法的几种重构方法
然后label的MouseDown事件中((Label)sender).DoDragDrop("Name", DragDropEffects.Move | DragDropEffects.Copy);
然后label的MouseDown事件中((Label)sender).DoDragDrop("Name", DragDropEffects.Move | DragDropEffects.Copy);
#8
在panel的DragDrop事件中,用下面的代码无法获取到Label对象,请问怎么改下?
private void label1_MouseDown(object sender, MouseEventArgs e)
{
//左键的话(表示拖拽开始)
if ((e.Button == System.Windows.Forms.MouseButtons.Left))
{
label1.DoDragDrop(label1, DragDropEffects.Copy | DragDropEffects.Move);
//形成拖拽效果,移动+拷贝的组合效果
}
}
private void panel1_DragDrop(object sender, DragEventArgs e)
{
object aa = e.Data.GetData("Name"); //取不到label1这个对象,这个地方应该如何改下?
}
#9
e.Data.GetData(typeof(Label))
直接传Label,不知道这样可不可行
#10
Dim a As Label = e.Data.GetData(GetType(Label).FullName, True)