用户控制告诉项目要做什么

时间:2010-05-06 08:25:11

标签: c# winforms class project user-controls

这可能是“在那里”,但这里是:

我有一个用户控件。我有一个项目。如何让我的用户控件将特定的“事件”传递给我的项目,然后让我的项目运行该事件?

1 个答案:

答案 0 :(得分:0)

在您的UserControl中

        public delegate void BigEventHandler(object sender, EventArgs e);

        public event BigEventHandler SomeThingBigHappened;


        private void button1_Click(object sender, EventArgs e)
        {
            OnSomeThingBigHappened(e);
        }

        protected virtual void OnSomeThingBigHappened(EventArgs e)
        {
            SomeThingBigHappened(this, e);
        }

以您的形式

 private void userControl11_SomeThingBigHappened(object sender, EventArgs e)
        {
            MessageBox.Show("Something Really Really big happened in Usercontrol!!");
        }

您需要在表单设计器中绑定usercontrol事件,并在控件中,而不是button1_click,进行事件发生的OnSomeThingBigHappened(e);调用