C#,容器的火灾事件

标签 c# events containers

我有一个继承自 Button 的 MyButton 类。在这个类中,我放置了几个其他控件(Labels、Progessbar)。问题在于 Button 上的控件无法触发 Button.Click 或 Button.MouseHover 事件。我怎样才能实现 Button 上的控件仅显示但“事件透明”:在标签和 progessbar 上单击/悬停与我直接在 Button 上单击/悬停(包括发件人和所有内容)相同。类似于“从父级继承事件”。

class MyButton : Button
{
    Label foo = new Label();
    ProgressBar bar = new ProgessBar();
}

最佳答案

您应该从 UserControl 派生,然后将按钮作为子控件,并冒泡按钮子项的点击事件。

link可能超出您的需要,但这是一个很好的起点。

更新 正如所指出的,您可能没有使用 ASP.NET。所以here是另一篇讨论不同自定义用户控件的帖子,特别是您所追求的是 Composite Control。这适用于 Windows 窗体。

关于C#,容器的火灾事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5394711/

相关文章:

c# - 将实时共享托管 ASP.NET MVC 站点迁移到 Windows Azure

c# - 我如何从框架中获取页面实例?

android - PhoneGap 未在 Android 4.2 上触发 deviceready

Java-不使用 KeyListener 检查按键

kubernetes - Kubernetes作业中的广告连播时间限制-每个广告连播的.spec.activeDeadlineSeconds

c# - XNA Tile 映射平台游戏?

c# - 我能否使 NumericUpDown 控件的最大值不受限制,而不是在其 Maximum 属性中指定一个值?

javascript - 什么是 Promise<{}>?

windows - 在 Windows 容器模式下的 Windows 10 上 Docker 拉取失败

css - 将 div 缩小为具有百分比高度的图像