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"));
}
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"));
}
相关文章推荐
- c# winform TreeView控件中实现拖拽的功能
- C# Winform 的淡入淡出效果 及 控件拖拽效果
- c# winform TreeView控件中实现拖拽的功能
- 【转】c# winform TreeView控件中实现拖拽的功能
- C#控件拖拽Winform
- C#之WinForm基础 通过改变拖拽控件的顺序,将textbox放在panel的下面
- C# WinForm 实现控件可拖拽
- c#.net WinForm 线程内 调用窗体控件
- C#winform中使用控件的Dock属性进行布局
- C# WinForm ComboBox控件美化换肤
- C# WinForm窗体控件GroupBox修改边框颜色控件
- C# — WinForm 基本控件
- C#Winform基础 datagridview控件一选选一整行的效果实现时,取消第一行默认被选取的副效果
- C#制作WinForm控件
- C#拖拽控件
- C#中winform窗体的美化控件 iriskin(二)
- 【C# 基础】— 解决 "winForm 引用 Adobe PDF Reader控件不显示pdf 文件" 问题
- 【转载】C# Winform 跨线程更新UI控件常用方法总结
- C# Winform 跨线程更新UI控件常用方法总结(转)
- C# Winform 自适应大小 按上下键切换控件焦点