Windows Forms: пользовательские элементы управления и события - PullRequest
4 голосов
/ 04 октября 2010

У меня есть Windows Forms пользовательский элемент управления, который состоит из нескольких элементов управления.Среди прочего есть также контроль gridview.Теперь я хочу использовать пользовательский элемент управления в форме.Как я могу проверить, например, нажата ли строка сетки?Я хочу получить данные выбранной строки.Другими словами, как я могу обнаружить события элементов управления, которые встроены в пользовательский элемент управления?

Ответы [ 2 ]

7 голосов
/ 04 октября 2010

Вам необходимо выставить события из родительского элемента управления, добавив дополнительные события:

public event EventHandler GridViewClicked;

И вы вызываете его на своем дочернем элементе управления, используя следующее:

private void ChildControlGrid_RowClicked(object sender, EventArgs e)
{
    if (GridViewClicked != null)
    {
        GridViewClicked(sender, e);
    }
}

Затем выРеализуйте это так же, как любое событие в вашей форме:

yourControl.GridViewClicked += new EventHandler(ChildGridRowClicked);

private void ChildGridRowClicked(object sender, EventArgs e)
{
    // Child row clicked
}
1 голос
/ 04 октября 2010

Создайте новое событие в вашем пользовательском элементе управления и используйте его для показа событий сетки.

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