[英]Custom Control that exposes Button Control's OnClick event
我需要设计一个基本上是一个花哨的按钮的CtrlButton
,我们称之为CtrlButton
。
我想将这些放在我的空白表单上,然后转到我控制的事件并指定要为Click事件做什么。
如果我的自定义控件CtrlButton
包含在名为1个的Windows窗体Button button1
,可我只是暴露了潜在的Click事件处理程序button1
?
public EventHandler Click {
get { return button1.Click; }
set { button1.Click = value; }
}
这段代码不起作用! 但是,这基本上就是我想要做的。
编辑:我看到我被授予这篇文章的热门问题,但它仍然坐在那里-1。 如果这个问题可以帮助您找到答案,请将其投票。
Button.Click是一个事件,而不是一个属性。 你不能得到并设定它的价值,因为它不是一个财产; 你只能添加和删除处理程序,因为它是一个事件,事件的工作方式。
但您可以使用自定义add
和remove
处理Button的处理程序编写自己的事件:
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;
}
}
}
这些活动是可用的。 如果您已经完全自定义制作自己的按钮,那么您将不得不连接所有活动, 这篇文章 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.