Дополнительные частичные классы для формы - PullRequest
4 голосов
/ 04 сентября 2010

У нас есть большой класс Form, который мы хотели бы разделить на миры, используя частичный подход к классу

Это можно сделать, вручную изменив файл проекта и добавив запись MainFormPN.vb

<Compile Include="MainForm.vb">
  <SubType>Form</SubType>
</Compile>    
<Compile Include="MainForm.Designer.vb">
  <DependentUpon>MainForm.vb</DependentUpon>
  <SubType>Form</SubType>
</Compile>
<Compile Include="MainFormPN.vb">
  <DependentUpon>MainForm.vb</DependentUpon>
</Compile>

Проблема с этим подходом заключается в том, что при двойном щелчке по этому элементу в IDE VS2008 отображается новая пустая форма, а не интерфейс MainForm.Похоже, что VS2008 не поддерживает несколько частичных классов для форм.Возможно ли это сделать?

Ответы [ 2 ]

2 голосов
/ 04 сентября 2010

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

Тот факт, что дизайнер Windows Forms показывает пустую форму, когда вы открываете частичный класс, - это просто особенность Visual Studio. Если вы дважды щелкнете по «основному» файлу формы (в вашем случае, MainForm.vb), он будет отображаться правильно.

Другими словами, не волнуйтесь; код из ваших файлов частичных классов действительно принадлежит одному и тому же классу.

0 голосов
/ 21 декабря 2010

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

...