您的位置:首页 > 编程语言 > C#

C#控件拖拽Winform

2012-01-12 09:50 274 查看
实现拖拽功能需要注意如下几个事件:

1.数据源的MouseDown事件:(当鼠标指针在组件上方并按下鼠标按钮时发生)

在这个事件中添加数据控件的DoDragDrop方法

2.目标容器的DragEnter事件:(在鼠标将某项托到该控件的工作区时发生)

3.目标容器的DragDrop事件:(拖放完成时发生)

需要注意:必须将数据源控件和目标容器控件的AlloDrop属性设置为True;

实现一个Demo如下:有两个listbox控件,将listbox1中的数据托到listbox2中

private void listBox1_MouseDown(object sender, MouseEventArgs e)

{

this.listBox1.DoDragDrop(this.listBox1.Items[this.listBox1.SelectedIndex],DragDropEffects.Copy);

}

private void listBox2_DragEnter(object sender, DragEventArgs e)

{

if (e.Data.GetDataPresent("Text"))

{

e.Effect = DragDropEffects.Copy;

}

}

private void listBox2_DragDrop(object sender, DragEventArgs e)

{

this.listBox2.Items.Add(e.Data.GetData("Text"));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: