Как остановить Visual Studio от изменения размера моих элементов управления? - PullRequest
11 голосов
/ 11 октября 2008

Visual Studio 2008 SP1 (хотя IIRC, поведение также присутствовало в 2005 году) продолжает изменять размеры нескольких элементов управления сеткой (Janus.GridEx, если быть точным), которые я использую.

Я могу изменить их размер до нормального, сохранить и скомпилировать. Когда он скомпилируется, эти два элемента управления расширятся до смешных значений.

Дополнительная информация: Эта проблема связана с установкой свойства Anchor в элементе управления. Если я устанавливаю свойство Anchor на противоположные стороны (скажем, влево и вправо), когда файл Designer компилируется, он устанавливает ширину / высоту элемента управления равной ширине / высоте контейнера.

Похоже, что в файле Designer свойство Anchor устанавливается перед свойством Size. Ручное редактирование (я знаю, позор) файла, в котором сначала указывается свойство Size, не помогает, поскольку, когда файл Designer компилируется, он, похоже, также переписывается с нуля.

Итак, я думаю, что мой реальный вопрос в том, как заставить дизайнера форм VS учитывать мое объявление начального размера, а также свойство Anchor.

Ответы [ 5 ]

6 голосов
/ 15 декабря 2009

У меня была такая же проблема. Экземпляры моего пользовательского элемента управления в форме имели эти настройки. якорь - нет autosize - false док - нет

Он по-прежнему ужасно менял их размер каждый раз, когда я делал сборку и т.д.

Я обнаружил, что в пользовательском элементе управления в свойствах дизайна для него автомоделируется режим шрифта Я изменил его на none, и это решило проблему.

2 голосов
/ 11 октября 2008

Обычно я решаю подобные проблемы, помещая «хороший» код в конструктор формы, сразу после вызова InitializeComponent (), поэтому он перекрывает любой беспорядок, который может вызвать магия автоматического дизайнера.

1 голос
/ 11 октября 2008

В настоящее время я занимаюсь обработкой события Resize и установкой Size для двух обязательных элементов управления. Я чувствую, что это нечто вроде клуджа, учитывая предполагаемый эффект свойства Anchor.

0 голосов
/ 11 октября 2008

Возможно, я неправильно понимаю вопрос, но я думаю, что вы ищете это свойство Locked: http://msdn.microsoft.com/en-us/library/80xxxf69.aspx

0 голосов
/ 11 октября 2008

Обычно, когда у меня возникает эта проблема, я в конечном итоге использую Панели и метки (пустой текст) со свойствами Dock и Padding в элементах управления, чтобы получить такой же визуальный вид. Будет ли это практичным для вашей формы, будет зависеть от того, как она устроена.

Не лучшее решение из-за всех дополнительных элементов управления, но оно выполняет свою работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...