2012-04-17 2 views
0

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

Поэтому я пытаюсь добавить глагол внутри элементов управления ComponentDesigner, чтобы удалить его из формы. Но я понял, что, поскольку он не «ухаживает» ни за что, он поэтому не может быть удален как ребенок. Как я мог бы теперь удалить элемент управления из конструктора форм через код?

ответ

0

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

0
  1. Резервное копирование.

  2. Открыть файл-конструктор; например, Form1.Designer.cs

  3. Развернуть эту область: Windows Form Designer generated code

  4. Вы должны быть в состоянии найти свой контроль в коде и удалить его. Быть осторожен.

2

Это может произойти, когда одно из ваших элементов управления выдает исключение во время разработки. Это редко бывает молчаливое событие, дизайнер показывает всплывающее окно сообщения. Не получить окно сообщения может случиться, когда вы проглатываете исключения в коде с помощью try/catch.

Попытка исправить это путем взлома дизайнера просто добавляет проблемы. Исправьте его, отредактировав код дизайнера, это нормально, когда вы знаете, что делаете. Если вы не можете найти причину, то доведите ее до точки, где вы можете сделать ее несколько воспроизводимой. Затем запустите другой экземпляр Visual Studio, Tools + Attach to Process и выберите первый экземпляр. Отладка + Исключения, поставьте галочку в поле «Бросок» для исключений CLR, чтобы отладчик остановился при вызове исключения.

+0

Это большая библиотека управления третьей стороной, которую я использую, и у меня есть только небольшая возможность расширения. –

+3

Не уверен, что вы хотите, чтобы я сделал с этой информацией. Говорить владельцу об исключении, которое вы видели, наверняка ускорит исправление. –

Смежные вопросы