我一直看到有關添加事件的文章能夠拖動面板。但是,我將如何通過動態創建的面板來實現這一點?能夠拖動動態創建的面板
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