我一直看到有关添加事件的文章能够拖动面板。但是,我将如何通过动态创建的面板来实现这一点?能够拖动动态创建的面板
Panel pn = wch.GenerateWorkspaceControl(space.Name, space.Name, p);
PanelTest.Controls.Add(pn);
public Panel GenerateWorkspaceControl(string gbTitle, string gbName, Point gbPos)
{
Panel pnl = GeneratePanelContainer(gbPos, new Size(300, 200));
pnl.Controls.Add(GenerateLabel(gbName,new Point(100,1),new Size(135,115)));
return pnl;
}
private Panel GeneratePanelContainer(Point loc, Size size)
{
return new Panel() { BackColor = Color.Transparent, BorderStyle = BorderStyle.FixedSingle, Location = loc, Size = size };
}
是否在生成面板容器中添加事件处理程序?
总结我有一个面板是持有多个动态创建面板。我希望能够在主面板内的动作创建的面板上移动。
任何想法?
是的,'pnl。 MouseMove + = pnl_MouseMove;'制作该方法,并将发件人对象转换为面板。 – LarsTech
您可以为这些面板编写一个Coome事件集或Lambdas,或者创建一个MoveController类,并将其注册到该面板。 (我更喜欢后者。) – TaW