Пользовательский контроль сообщает проекту, что делать - PullRequest
0 голосов
/ 06 мая 2010

Это может быть abit "там", но здесь идет:

У меня есть пользовательский элемент управления. И у меня есть проект. Как можно, чтобы пользовательский элемент управления передавал конкретное «событие» в мой проект, а затем мой проект запускал это событие?

1 Ответ

0 голосов
/ 06 мая 2010

В вашем 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);, где событие произойдет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...