Вызовите родительское контрольное событие клика c # - PullRequest
0 голосов
/ 13 декабря 2011

Я разработал одно приложение win-form, в котором был один пользовательский элемент управления с одной меткой и текстовым полем, и поместил пользовательский элемент управления в одну панель с docksytle в качестве заливки.

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

, поэтому кто-нибудь, пожалуйста, дайте мне знать, как вызвать событие щелчка мыши на панели.

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Вы уверены, что действительно необходимо вызвать щелчок родительского элемента управления?В целом, на мой взгляд, будет пахнуть кодом, если вы будете делать что-то подобное, особенно когда это требует каких-то странных конструкций.

Если вам нужно реагировать одинаково при нажатии на панель и наДля любого дочернего элемента управления внутри панели достаточно просто вызвать один и тот же метод из двух обработчиков событий (то есть из обработчика событий родительской панели и обработчика событий дочернего элемента управления. Если вам требуется, например, расположение указателя мыши внутри родительской панели)Вы можете легко рассчитать положение указателя мыши, используя, например, методы PointToScreen () и PointToClient ().

0 голосов
/ 13 декабря 2011

Это не общее решение, но, возможно, это то, что вы ищете:

private void CustomControl_MouseClick(object sender, MouseEventArgs e)
{
    panel_MouseClick(sender, e);
}

private void panel_MouseClick(object sender, MouseEventArgs e)
{

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