У нас тоже были проблемы с этим. Приложение Windows.Forms с элементами управления Infragistics выглядело хорошо в Windows XP, но в W7 начали возникать все виды проблем с изменением размера. Мне понадобились годы, чтобы узнать, что случилось.
Конечно, сначала я предположил, что это связано с Infragistics, но я нигде не нашел подсказки ни на одном форуме. Наконец я наткнулся на эту ссылку , где было объяснено, что за пределами определенной иерархии элементов управления события изменения размера больше не запускаются.
У нас есть структура пользовательского интерфейса, и для нас было достаточно сделать производную от System.Windows.Forms.SplitContainer
с этим переопределением:
// HACK: under Windows7, controls do not always redraw to their whole rectangle after restoring their size.
protected override void OnSizeChanged(EventArgs e)
{
if (Handle != null) // Can be null because the event is invoked before the handle is created.
BeginInvoke((MethodInvoker)(() => base.OnSizeChanged(e)));
}
Поскольку у нас есть элементы управления инфраструктурой (сетка, менеджер док-станции) на SplitContainers. Возможно, элементы управления Infragistics имеют глубокий уровень вложенности, что делает это раньше, чем с другими элементами управления.