В основной форме приложения Windows Forms, которое я сейчас пишу, у меня есть SplitContainer с левой и правой панелью. Элементы управления на правой панели, у которых установлен якорь справа (или справа и слева), не остаются там, где я помещаю их в конструктора. Периодически элементы управления сдвигают пиксель влево (в дизайнере, а не во время выполнения). Для элементов управления, закрепленных как влево, так и вправо, управление будет уменьшаться, но для элементов управления, которые только что привязаны вправо, весь элемент управления перемещается влево при сохранении того же размера. Кто-нибудь знает, почему это происходит или как его избежать? Прямо сейчас, единственное, что я могу сделать, это периодически перемещать их обратно.Почему элементы управления в дизайнере WinForms изменяются отдельно?
Примечание: Мой конструктор Windows Forms в настоящее время устанавливается с LayoutMode = SnapToGrid, Привязка к сетке = True, и размер сетки 5 х 5.
Edit: я сумел найти способ воспроизвести эта проблема в Visual Studio 2012, наконец. Создайте новый проект Windows Forms с теми же настройками дизайнера, которые я использую, и добавьте SplitContainer в форму. Оставьте его пристыкованным для заполнения (или используйте анкеры со всех сторон). Теперь установите значение SplitterDistance равным 100, а SplitterWidth - 5. Добавьте кнопку вправо SplitPanel и установите привязку к нижнему и правому. Переместите кнопку так, чтобы ее правый край был близок к стороне SplitPanel, затем закройте и откройте форму. Волшебно, кнопка сдвинула один пиксель влево.
Вот как это выглядит, прежде чем закрыть его (в этом случае расположение кнопки составляет 105, 175):
Вот что это выглядит как после закрытия и повторного открытия его (теперь местоположение данной кнопки составляет 104, 175):
Я надеюсь, что этот пример поможет любому воспроизвести проблему.
Теперь я нашел способ воспроизвести проблему и соответствующим образом обновил вопрос. Надеюсь, это выводит меня из сферы «программистов, которые не будут документировать свою проблему». – ahouse101