相关疑难解决方法(0)

单击.Net(Windows窗体)用户控件的事件

这可能是一个非常简单的问题,但出于某种原因,即使是正确的网络搜索方式也无法解决问题......

我正在尝试创建一个由几个标签和进度条组成的用户控件.但是,我希望整个控件都有一个"Click"事件,无论单击控件内的哪个项目,都会引发该事件.我创建了一个分配给每个控件的"HandleClick"过程:

    private void HandleClick(object sender, EventArgs e)
    {
        // Call the callback function, if we were asked to
        if (OnClick != null)
        {
            EventArgs ee = new EventArgs();
            OnClick(this, ee);
        }
        else
        {
            MessageBox.Show("OnClick was null!");
        }
    }
Run Code Online (Sandbox Code Playgroud)

此实例中的OnClick是在控件级别定义的变量:

    public new event EventHandler OnClick;
Run Code Online (Sandbox Code Playgroud)

现在,这只适用于表单.在一个标签上显示MessageBox,然后在封闭表单上调用该事件.所有其余的都显示了消息框.

我觉得这应该是显而易见的,但是一个沮丧的下午让我觉得我错过了一些不言自明的东西,但是当我看到它时,我会感觉自己像一个完整的小丑......任何人都可以不要再傻笑我的愚蠢到足以让我知道我哪里出错了?

.net c# visual-studio-2008 windows-forms-designer

5
推荐指数
1
解决办法
6061
查看次数