Здравствуйте!
Имеются два наследника от UserControl и GroupBox -- MyUserControl и MeGroupBox. Оба являются контейнерами для других компонент/контролов (Помечены атрибутом [Designer(typeof(ParentControlDesigner))]).
Собственно вопрос. Как сделать, так чтобы у внутренних компонент (они могут быть любые) не изменялось свойство Font и другие.
Неужели только полная эмуляция кода Control.OnFontChanged(...) может помочь? Там о-о-очень много чего цепляется... простое перекрытие OnFontChanged — плохо помогает: нужно руками переустанавливать свойства всех дочерних элементов.
Пока используется совершенно идиотский способ:
protected override void OnFontChanged(...)
{
// запоминаем Font-свойства всех внутренних контролов через словарь:
for (int i = 0; i < Controls.Count; i++)
{
//....
}
using (new LayoutTransaction(this, this, "Font", false))
{
base.OnFontChanged(...);
if (controls != null)
{
// восстанавливаем
for (int i = 0; i < Controls.Count; i++)
{
//....
}
}
}
}
Кто сталкивался?
Спасибо.