如何在用户控件上激活 Click 事件?

Posted

技术标签:

【中文标题】如何在用户控件上激活 Click 事件?【英文标题】:How to activate the Click event on a User Control? 【发布时间】:2021-06-28 04:36:50 【问题描述】:

我有一个自定义创建的用户控件,带有一个标签和一个图片框,我将把它用作表单中的按钮。问题是,当我向UC_Click 事件添加一个操作并运行我单击它时无法识别的应用程序时。有解决办法吗?

private void OpenChildForm(Form childForm, Panel panelTab)

    if (currentChildForm != null)
     currentChildForm.Close(); 
    currentChildForm = childForm;
    childForm.TopLevel = false;
    childForm.FormBorderStyle = FormBorderStyle.None;
    childForm.Dock = DockStyle.Fill;
    panelTab.Controls.Add(childForm);
    panelTab.Tag = childForm;
    childForm.BringToFront();
    childForm.Show();


private void UCDepartment_Click_1(object sender, EventArgs e)

    OpenChildForm(new AdministratorChildForms.DepartmentManagment(), panelTab);

【问题讨论】:

请准确说明你做了什么。 this是不是同样的问题? 如果在用户控件上点击子控件,相信会触发子控件的点击事件,而不是控件的点击事件。 有没有办法解决这个问题?因为我的目标是拥有多个,并且每个都打开不同的表单 【参考方案1】:

我看到了 winforms 标签,所以我写了这个希望它有帮助;

public class Customized :UserControl

    public PictureBox pic  get; set; 
    public Label label  get; set; 
    public Customized()
    
        pic.Click += Pic_Click;

    

    private void Pic_Click(object sender, EventArgs e)
    
        // SomeEvent.
    

【讨论】:

以上是关于如何在用户控件上激活 Click 事件?的主要内容,如果未能解决你的问题,请参考以下文章

在外部用户控件上的 aspx 按钮上触发 Click 事件

用于以编程方式创建的用户控件的C#Winform Click事件[复制]

C#winform 主窗体上的用户控件怎样调用主窗体的一个方法!

c# 如何判断控件上有事件

C# WinForm 用户控件的自定义事件问题

如何在自定义用户控件上创建单击事件?