У меня есть диалоговое окно WinForms с большим количеством элементов DevExpress.
Форма имеет несколько SplitContainers, элемент TextEdit и элементы управления DevExpress XtraGrid.
Все элементы управления: Dock = Fill или, в случае панелей инструментов, Dock = Top.
Когда я изменяю размер формы, она не ретранслирует все элементы, с такими результатами: http://dl.dropbox.com/u/51344/winforms1.png.
Только когда я вручную изменю размер одного из SplitContainers, форма ретранслируется, и все снова в порядке (http://dl.dropbox.com/u/51344/winforms2.png).
Я попытался вызвать все функции «PerformLayout, Refresh, Redraw», которые я смог найти в событии OnResize формы, но безуспешно.
Эта проблема приводит к еще худшим проблемам с макетом при запуске в RemoteDesktop.
У кого-нибудь есть идеи, как отладить эту проблему?
Edit:
Ненавижу отвечать на свой вопрос, несколько дней боролся с этим.
Этот уродливый кусок кода, кажется, делает свое дело. Измените размер разделенных контейнеров на один пиксель, чтобы изменить расположение:
splitContainerControlQuery1.SplitterPosition += (splitContainerControlQuery1.SplitterPosition % 2 == 1) ? 1 : -1;
splitContainerControlQuery2.SplitterPosition += (splitContainerControlQuery2.SplitterPosition % 2 == 1) ? 1 : -1;