我有一个带有一些按钮的自定义控件(面板)。
该按钮的EventHandler
如下所示:
private void AddImageToLayout(object sender, EventArgs e)
{
PictureBox pb = new PictureBox();
pb.BackColor = Color.FromArgb(rnd.Next(256), rnd.Next(256), rnd.Next(256));
pb.Width = 50;
pb.Height = 50;
//Base part
this.FlowLayoutPanel.Controls.Add(pb);
LayoutControl c = new LayoutControl(pb, ElementProperties_Sirina_nud);
_Layout.Controls.Add(c);
//========================
}
现在我要做的是使用户能够将自己的EventHandler
附加到此按钮。
我通过向自定义控件声明public EventHandler Button_AddImageToLayout
并将.Click
事件更改为this.New_Image.Click += (Button_AddImageToLayout == null) ? AddImageToLayout : Button_AddImageToLayout;
这就像魅力一样工作,但我还有其他问题。
我需要编写的新事件处理程序必须具有Base part
(在此处注释),但是我想避免这种情况,并且希望用户仅将Control
传递给自定义控件。
我该如何实现?