Пользовательский элемент управления вкладками не отображается в представлении дизайна форм Visual Studio - PullRequest
2 голосов
/ 26 февраля 2009

Итак, у меня есть существующий проект с пользовательским элементом управления вкладками, вложенным в панели и разделители и т. Д.

Теперь мне нужно что-то добавить на одну из страниц этого элемента управления вкладки через представление конструктора.

Однако при просмотре рассматриваемой формы элемент управления вкладкой нигде не отображается (и не отображается в раскрывающемся списке текущих элементов управления на странице).

Элемент управления tab находится в коде конструктора и отображается при запуске.

Какой-нибудь совет для этого, вероятно, вопроса noob?

редактирует

Хорошо, я, наверное, должен был упомянуть об этом, но, наверное, я забыл - форма является унаследованной формой. Существуют некоторые отличия этой формы от унаследованной формы, но отсутствует элемент управления вкладкой

Ответы [ 4 ]

2 голосов
/ 05 марта 2009

Элемент управления вкладки, вероятно, является частным в базовой форме. Попробуйте установить для свойства Modifier элемента управления вкладкой значение Protected или Public (из конструктора базовой формы).

Если поле элемента управления является закрытым, оно не будет доступно в конструкторе наследующих форм, но оно все равно будет отображаться во время выполнения.

Обновление, новый вопрос от автора

Я не знаю, как это произошло, когда кто-то не редактировал файл csproj в текстовом редакторе. Но этот пример показывает, как должна выглядеть форма include в csproj.

<Compile Include="MainForm.cs">
  <SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.designer.cs">
  <DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="MainForm.resx">
  <DependentUpon>MainForm.cs</DependentUpon>
  <SubType>Designer</SubType>
</EmbeddedResource>

Этот пример вызовет поведение, которое вы описали. (Удалены зависимые теги-метки).

<Compile Include="MainForm.cs">
  <SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.designer.cs"/>
<EmbeddedResource Include="MainForm.resx">
  <SubType>Designer</SubType>
</EmbeddedResource>
2 голосов
/ 28 февраля 2009

Проверьте, соответствует ли эта статья обратной связи вашей проблеме.

0 голосов
/ 05 марта 2009

Так ..

Я заметил, что .designer, .resx и код класса формы были перечислены в виде отдельных файлов в Visual Studio (не объединяются автоматически).

Понятия не имею, что вызвало это, и возвращение исходного кода + проект не помог.

Однако ... Я решил сделать то, что должен был сделать гораздо раньше, а именно сохранить эти 3 файла отдельно, удалить их все через интерфейс Visual Studio, сохранить проект, переместить 3 файла обратно и добавить их в качестве существующих элементов, перед сохранением и восстановлением всего. После всего этого все снова хорошо ...

Если у кого-то есть хорошая идея, почему три файла разделены, я назначу награду там: -)

Спасибо также за все отзывы выше: -)

0 голосов
/ 04 марта 2009

Вы пытались добавить вкладку с некоторым содержанием к ней? Иногда дизайнеру не нравится показывать вам то, что содержит контент, когда нет контента для размещения.

...