问题如下:
我有一个窗体 FormA,里面有一个Button1... 还有一段代码codeA
另有一个窗体 FormB. 是MDI的子窗体. 一段代码codeB(Button1)
我的问题是,
1. 我要拖FormA的按钮Button1到FormB上,
2.松开之后,然后在FormB上执行codeB,在FormA上执行一段代码codeA.
类似"拖一个文件到windows回收站图标" 的那样的效果.
有没有达人,能帮个忙给瞅瞅?或者是提供一下思路.
如果我来作,我会这样分析
" 或者是说,我把button1拖到窗体FORMB的时候,B里面要执行一个方法,这个方法需要button1里面的一些东西.."
说明FromB中的响应方法要关联或依赖button类,如果是依赖,则其传入的参数应当是button1;
delegate void delEventForm1();
delegate void delEventForm2(Button btnInstance);
/// <summary>
/// 当鼠标离开form1时候触发框架窗体的离开事件,当鼠标离开form2的时候触发框架窗体的进入事件,此框架负责检测到拖动事件,并负责绘制动画效果
/// </summary>
class MainFrame
{
delEventForm1 delForm1Event = null;
delEventForm2 delForm2Event = null;
Form1 frm1Instance;
Form2 frm2Instance;
public void initFrame()
{
delForm1Event = new delEventForm1(frm1Instance.EventDrag);
delForm2Event = new delEventForm2(frm2Instance.EventDrag);
}
public void EventForm1Leave()
{
delForm1Event();
}
public void EventForm2Entered()
{
delForm2Event(frm1Instance.btnInstance);
}
}
class Form1 : System.Windows.Forms.Form
{
public Button btnInstance;
public void EventDrag()
{
//do something while button was draged
}
}
class Form2 : System.Windows.Forms.Form
{
public void EventDrag(Button btnInstance)
{
//do something using btnInstance
}
}