У меня есть пользовательский элемент управления (называемый «родительский»), который динамически добавляет или удаляет другие элементы управления («дочерний»).
Родитель поддерживает объект HelpProvider, который должен запрашиваться для связанных строк справки, элементы управления которых содержатся в child ('subchild'). Элементы управления дочерних элементов не доступны напрямую, поэтому я планирую предоставить дочернему элементу некоторый метод, позволяющий дочернему элементу заполнять объект HelpProvider (например, public void InstallHelpProvider (HelpProvider)). Поэтому, когда дочерний элемент динамически добавляется к родительскому элементу, родительский объект вызывает InstallHelpProvider для дочернего элемента перед установкой элемента управления.
Я не полностью осведомлен о внутренностях HelpProvider, но я думаю, что он будет поддерживать карту для устанавливаемых элементов управления. Соответственно, я хотел бы удалить записи из справочного провайдера родителя, когда дочерний элемент управления удален из родительского (и если это просто ради того, чтобы не тратить системные ресурсы).
В HelpProvider есть открытый метод ResetShowHelp (Control), который я предполагаю выполнять эту работу. Однако в MSDN говорится, что этот метод является инфраструктурой и не предназначен для непосредственного использования.
Кто-нибудь использовал этот метод в любом случае? Или, может быть, есть другой (предполагаемый) способ, как это сделать? Или, может быть, HelpProvider плохо работает с моим дизайном?
С уважением,
jerb