显示Button Control的OnClick事件的自定义控件
本文关键字:事件 自定义控件 OnClick 显示 Control Button | 更新日期: 2023-09-27 18:10:04
我需要设计一个自定义控件,它基本上是一个花哨的按钮,我们称之为CtrlButton
。
我想把这些放在我的空白表单上,然后转到我的控件的Events并指定如何处理单击事件。
如果我的自定义控件CtrlButton
包含一个名为button1
的Windows窗体按钮,我可以简单地暴露button1
的底层单击事件处理程序吗?
public EventHandler Click {
get { return button1.Click; }
set { button1.Click = value; }
}
这段代码不能工作!但是,这就是我想要做的。
编辑:我看到我因为这个帖子获得了流行问题奖,但它仍然坐在那里-1。如果这个问题能帮助你找到答案,请投票。
按钮。Click是一个事件,而不是属性。你不能获取和设置它的值,因为它不是属性;你只能添加和删除处理程序,因为它是一个事件,这就是事件的工作方式。
但是你可以用自定义的add
和remove
处理程序编写自己的事件来包装按钮:
public event EventHandler Click {
add { button1.Click += value; }
remove { button1.Click -= value; }
}
如果这是从标准的Button控件派生的,如下所示:
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsControlLibrary1
{
public class RedButton : Button
{
public RedButton()
{
base.BackColor = Color.Red;
}
}
}
事件可用。如果你已经完全定制了你自己的按钮,你将不得不连接所有的事件,就像这篇文章。