panel简单拖拽问题,来者有分了~~~~~~~~ 如何实现将一个panel拖拽到另一个panel中,高手帮助了啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 js就行了吧,不过你可以看看web part感觉这个对你有用 不知道能不能帮你 private void panel1_MouseUp(object sender, MouseEventArgs e) { int _X = e.X + panel1.Left; int _Y = e.Y + panel1.Top; Control _Control = this.GetChildAtPoint(new Point(_X,_Y)); if (_Control == null) { Control _Panel = panel1.Parent; panel1.Parent = this; panel1.Location = new Point(_X + _Panel.Left, _Y + _Panel.Top); return; } panel1.Parent = _Control; panel1.Location = new Point(_X-_Control.Left, _Y-_Control.Top); } 不好意思,忘了说了,是winform中 [C#]public DragDropEffects DoDragDrop( object data, DragDropEffects allowedEffects);panel1.controls.add(panel2) 写鼠标事件从窗体中Control集合中移除该panel,再在另一个panel的Control集合中添加该panel就可以了 可以在一个pannel中建立一个table,然后在table的单元格里放入另一个Pannel 我已经解决了拖拽了,能不能在原地还留一个镜像啊,就是拖出来了,还在原地留一个类似vs的控件拖拽,代码共享一下啊 private void Form_Designer_Load(object sender, EventArgs e) { this.red.AllowDrop = true; this.yellow.AllowDrop = true; this.green.AllowDrop = true; foreach (Control c in this.groupBox1.Controls) { c.MouseDown += new MouseEventHandler(c_MouseDown); } } void c_MouseDown(object sender, MouseEventArgs e) { Control c = sender as Control; c.DoDragDrop(c, DragDropEffects.Move); } private void panel1_DragDrop(object sender, DragEventArgs e) { Control c = e.Data.GetData(e.Data.GetFormats()[0]) as Control; if (c != null) { c.Location = this.panel1.PointToClient(new Point(e.X, e.Y)); this.panel1.Controls.Add(c); } } private void panel1_DragOver(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; } 那就不要修改PANEL的坐标,new一个罗 楼主的意思我还没大明白,不知道你说的到底要实现什么功能,要把一个Panel 拖到另一个Panel里,就直接用鼠标拖啦,拖进去就好啦 你在原地或者新的地方在new一个同样的不就可以了么! 有一台服务器的Rewrite.dll加载成功,显示绿色,但却没有效果 我的程序不能按ctrl?? 如何让栏目循环显示 word对象的句柄属性是什么? 急! HttpWebRequest请求如何获取转向页面的Cookies? 几个小问题。 C#中调用vml画图的问题-求助 看了别人的代源,不过里面好像是用工具生成的,用的是什么东西呀? 整数类型转换为字符串类型 关于Socket lisen的问题 C#中动态数组的用法.... C# WinForm从xp移植到2000下某些功能实现报错
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
int _X = e.X + panel1.Left;
int _Y = e.Y + panel1.Top;
Control _Control = this.GetChildAtPoint(new Point(_X,_Y));
if (_Control == null)
{
Control _Panel = panel1.Parent;
panel1.Parent = this;
panel1.Location = new Point(_X + _Panel.Left, _Y + _Panel.Top);
return;
}
panel1.Parent = _Control;
panel1.Location = new Point(_X-_Control.Left, _Y-_Control.Top);
}
不好意思,忘了说了,是winform中
public DragDropEffects DoDragDrop(
object data,
DragDropEffects allowedEffects
);panel1.controls.add(panel2)
private void Form_Designer_Load(object sender, EventArgs e)
{
this.red.AllowDrop = true;
this.yellow.AllowDrop = true;
this.green.AllowDrop = true;
foreach (Control c in this.groupBox1.Controls)
{
c.MouseDown += new MouseEventHandler(c_MouseDown);
}
}
void c_MouseDown(object sender, MouseEventArgs e)
{
Control c = sender as Control;
c.DoDragDrop(c, DragDropEffects.Move);
}
private void panel1_DragDrop(object sender, DragEventArgs e)
{
Control c = e.Data.GetData(e.Data.GetFormats()[0]) as Control;
if (c != null)
{
c.Location = this.panel1.PointToClient(new Point(e.X, e.Y));
this.panel1.Controls.Add(c);
}
} private void panel1_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}