Существует ли способ при создании пользовательского элемента управления / пользовательского элемента управления WinForms получить ссылку во время выполнения на форму, на которой размещен элемент управления, чтобы получить доступ к различным свойствам этой формы? Я бы не стал передавать ссылку на форму в конструктор элемента управления, поскольку по разным причинам мне нужно оставить конструктор по умолчанию без параметров.
Один пример: у меня есть несколько пользовательских элементов управления, которые инкапсулируют вызовы Win32 API, и некоторые вызовы требуют, чтобы дескрипторы окна передавались как параметры. Я хотел бы иметь возможность получить дескриптор содержащей формы, чтобы я мог передать его функции API.
Другой пример: у меня есть пользовательский элемент управления, который предоставляет пользовательские уведомления в стиле «тост». Я хотел бы иметь возможность открывать форму уведомления в месте, относящемся к местоположению основной формы приложения, например по центру главного окна, справа и т. Д. Это невозможно, очевидно, без знания координаты главного окна приложения.
I может прибегнуть к использованию вызовов API типа FindWindowEx () в некоторых случаях, но это похоже на пометку и не будет работать во всех случаях.
Кто-нибудь знает, возможно ли это?