Переопределение процедуры в родителях от дочернего контроля
-
27-09-2019 - |
Вопрос
Я разрабатываю этот usercontrol, который требует, чтобы я переопределил WndProc
родительского контроля [что для всех практических целей является формой Windows], и я втухнул.
Обычно я мог бы бросить пользователь по форме и вручную переопределить формы WndProc
Отказ С момента всей моей команды развития и, возможно, другие, я не знаю прямо сейчас, теперь можно использовать, я думаю, что было бы лучше переопределить из Usercontrol.
Кто-нибудь знает, как я могу сделать это? Мои предпочтительные языки - vb.net и c #.
Решение
Вы можете попробовать Naturewindow, Получение ссылки на родительскую форму через this.FindForm()
.
То есть,
public class MyListener : NativeWindow
{
public MyListener(UserControl myControl)
{
this.AssignHandle(myControl.FindForm().Handle);
}
protected override void WndProc(ref Message m)
{
// do stuff
base.WndProc(ref m);
}
// dispose, etc.
}
Наследование от NativeWindow
Таким образом, позволит вам перехватить сообщения Windows.
Удачи!
Не связан с StackOverflow