Как запретить Visual Studio изменять размер элементов управления?

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

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

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

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

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

выложить код от дизайнера; Вы уверены, что не установили для свойства Dock значение Fill?

Steven A. Lowe 11.10.2008 18:57

Док отсутствует. Проблема не в том, что контроль действует неправильно. При запуске приложение работает должным образом. Просто в дизайнере высота и / или ширина становятся слишком большими, чтобы работать с ними.

Benjamin Autin 14.10.2008 01:55

@ [тост]: хорошо. Я сталкивался с подобной проблемой только однажды и не смог ее решить - кроме как путем установки вещей в конструкторе, как было предложено выше.

Steven A. Lowe 14.10.2008 03:14

Боже, это раздражает. Через 6 месяцев работы над проектом в VS2013 он вдруг начал это делать. У меня есть элементы управления, которые вдвое больше в дизайнере, другие, которые просто немного блуждают при каждом открытии.

Arunas 13.03.2015 09:08

Я использую (свои) пользовательские элементы управления на вкладке. Это был ужасный беспорядок (почти) каждый раз, когда форма сохранялась. Я попытался установить заблокированный статус и свойство AutoScaleMode, но ни один из них не работал. Что действительно работало, так это размещение их на панели и закрепление панели на странице управления вкладками.

Optavius 17.10.2017 17:32
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
11
5
4 713
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

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

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

Я попытался добавить панель для обоих элементов управления, но это тоже не сработало.

Benjamin Autin 11.10.2008 02:03

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

Ответ принят как подходящий

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

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

Scott Langham 12.10.2008 01:21

Кажется, это лучший ответ на мою проблему.

Benjamin Autin 14.10.2008 01:56

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

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

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

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

У меня это сработало. У меня было два пользовательских элемента управления в форме, размер и расположение которых дизайнер изменял. В обоих режимах автомасштабирования был установлен шрифт. Я изменил одно на «Нет», и этот пользовательский элемент управления внезапно начал себя вести и не менял размер и не перемещался, в то время как другой продолжал перемещаться и изменять размер. Поэтому я изменил режим автомасштабирования второго пользовательского элемента управления на «Нет», и теперь проблемы исчезли. Спасибо за совет!

Chris 21.07.2011 07:03

Это тоже была моя проблема. Спасибо, Рич!

pettys 17.10.2012 18:41

Другие вопросы по теме