Когда я пишу приложение winforms, я стараюсь создать файл Implement.cs для каждой формы.Частичный класс имеет несколько форм
Скажем, у меня есть Form1.cs, я бы создать новый файл с именем Form1.Implementation.cs начиная с partial class Form1
.
Form1.cs только содержит все методы обратного вызова событий (то, что дизайнер сделал), все остальное идет в Form1.Implementation.cs. Это помогает мне написать более читаемый код.
Я хотел Form1.Implementation.cs быть "субфайловом" так же, как Form1.Designer.cs, поэтому я отредактировал .csproj файл.
<Compile Include="Form1.Implementation.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
После перезагрузки, однако, Visual Studio автоматически добавляет <SubType>Form</SubType>
сразу после DependentUpon
элемента. Doubleclicking Form1.Implementation.cs не показывает код, а дизайнер с другой начальной пустой формой.
Это как
"класса Form1, которые ISA Form, это (?) Несколько форм."
Я попытался adding DesignerCategory
attribute к классу Form1, но она влияет на Form1.cs, а также.
Ну, удар «Shift-F7» или «Ctrl-Shift-0» не имеет большого значения. Интересно, если ...
- это глюк Visual Studio,
- вторичный (?) Форма действительно существует как-то,
- он собирается взорвать мой WinForms проект когда-нибудь
Вы должны посмотреть в сторону более «задуманного» подхода к вашему коду. Возможно, MVP подойдет .. где ваша форма просто станет немой точкой зрения, а фактический код находится внутри презентаторов. –
Атрибут предназначен для 'Form1' _type_, а не для одного из его _source files_. Фактически, частичные классы существуют только в коде и объединены во время компиляции. –