如何解决Windows窗体-使“用户控件”具有拖放功能
我想让Windows用户控件具有拖放功能。我会将用户控件拖到其他位置以放置在那里。
解决方法
我们需要做两件事。
- 使用户控件(也适用于任何控件)可拖动。
- 使表格的某些区域可放置。
可拖动:
认为“ Ctrl”是您的用户控件,“ ctrl”是您的用户控件的实例。
- 添加事件处理程序:
ctrl.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ctrl_MouseDown);
- make draggable:
private void ctrl_MouseDown(object sender,MouseEventArgs e)
{
((Ctrl)sender).DoDragDrop("Your data,you want to pass",DragDropEffects.Move);
}
使某些表单区域可放置:
认为“ ctlPanel”是您要放置可拖动控件的窗体面板。允许放置并分配两个事件(DragEnter和DragDrop)并按以下方式处理:
private void ctlPanel_DragEnter(object sender,DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void ctlPanel_DragDrop(object sender,DragEventArgs e)
{
string xyz = e.Data.GetData(DataFormats.StringFormat) as string;
}
仅此而已。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。