【发布时间】:2013-11-14 22:32:37
【问题描述】:
我需要设计一个自定义控件,它基本上是一个花哨的按钮,我们称之为CtrlButton。
我想将这些放在我的空白表单上,然后转到我的控件的事件并指定要为 Click 事件做什么。
如果我的自定义控件 CtrlButton 包含 1 个名为 button1 的 Windows 窗体按钮,我是否可以简单地公开 button1 的底层 Click 事件处理程序?
public EventHandler Click {
get { return button1.Click; }
set { button1.Click = value; }
}
此代码不起作用!但是,这基本上就是我想要做的。
编辑:我看到我因这篇文章获得了热门问题,但它仍然在 -1 处。如果这个问题可以帮助您找到答案,请投票。
【问题讨论】:
-
派生自 Button,而不是 UserControl。用户控件并不意味着是可点击的项目,它意味着是其他控件的包。很像形式。当你从 Button 派生时,你不必对 Click 做任何事情,你只需继承常规和理智的行为。
-
引用自常见问题解答:如果您对自己的贡献由其他受信任的用户协作编辑的想法感到不满意,那么这可能不适合您。跨度>
标签: c# winforms event-handling