WinForms Designer не соответствует коду Desinger.cs - PullRequest
0 голосов
/ 10 октября 2019

У меня множество странных проблем с WinForms Designer, и мне интересно, знает ли кто-нибудь об исправлении. Я просто изложу некоторые из симптомов здесь (на случай, если они все являются симптомами одной и той же проблемы).

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

![screenshot](https://i.imgur.com/3gWPYJE.png)

Элементы управления, которые, похоже, подвержены влиянию, привязываются к низу (иногда слева внизу)иногда Bottom-Right, но всегда включает «Bottom»). Если я переместу элементы управления туда, где они должны быть, сохраните, закройте конструктор, а затем снова откройте его - они все «сжаты» обратно в верхнем левом углу.

Еще более странно, что свойствапоказано в панели свойств для некоторых элементов управления (например, флажок) не соответствует тому, что находится в файле Form.Designer.cs (Form.Designer.cs имеет правильные значения местоположения):

![screenshot](https://i.imgur.com/lUavNUA.png)

При запуске моего приложения оно показывает «сжатые» элементы управления и не отражает значения в файле Form.Designer.cs (которые являются правильными).

Наконец, иногда, когда я иду сохранить файл, Visual Studio открывает диалоговое окно «Сохранить как», как будто оно не знает, где файл был фактически расположен, но затем предлагает мне перезаписать тот же файл (дажеесли бы не было никаких изменений).

screenshot

Если у кого-то есть идеи о том, что может быть причиной этих вещей, это было бы очень полезно! Я попытался исследовать окно «Структура документа», чтобы выяснить, происходит ли какое-то странное родительское воспитание (не было), попытался настроить файл Form.Designer.cs, чтобы исправить это (этого не произошло, поэтому я отменил эти изменения)и еще пару вещей.

1 Ответ

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

Ну, я никогда не узнавал реальную причину, по которой это происходило, но я нашел причину (и обходное решение).

Причиной является мой пользовательский контроль на вкладке "Редактор" (все, что находится внутри этого красного прямоугольника, является частью одного пользовательского элемента управления):

enter image description here

Я не уверен, почему это вызывает все проблемы с «перестановкой» - до недавнего времениУ меня были все эти элементы управления на самой вкладке (без usercontrol "parent"). Но, возможно, конструктор каким-то образом перегружается и размещает элементы управления в странных местах.

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

Если у кого-то есть какие-либо идеи относительно того, что действительно могло вызвать это, дайте мне знать.

...