Недавно столкнулся с такой задачкой.

В основной форме программы (в файле MainForm.cs) сформировалось достаточно большое количество кода. Я решил, что было бы неплохо, разделить по файлам код относящейся непосредственно к самой форме, например методы обработки кнопок, меню и т.д. и сам исполнительный код, используя возможности разделяемых классов - Partial Class .

Для решения этой задачи в обозревателе решений Visual Studio необходимо создать файл MainForm.implementation.cs. Результат создания представлен на скриншоте ниже.

Visual Studio - Обозреватель решений - MainForm

В данный момент файл MainForm.implementation.cs ни логически, ни физически не имеет отношения к форме MainForm.

При этом файл был создан и размещен в той же папке, что остальные файлы.

Размещение файлов в папке Form

Для логического отображения файла в составе формы, необходимо перейти к Visual C# Project file (с расширением .csproj). Файл решения и файл проекта обычно расположены в корневой папке.


VS_project

Файл FilmCollection.csproj необходимо открыть в любом текстовом редакторе типа блокнот или Notepad++.

Затем необходимо найти следующую строку:

1
2
3
   <Compile Include="FormMainForm.Designer.cs">
      <SubType>Form</SubType>
    </Compile>

и заменить ее на строку:

1
2
3
    <Compile Include="FormMainForm.Designer.cs">
      <DependentUpon>MainForm.cs</DependentUpon>
    </Compile>

Далее можно запустить решение в Visual Studio и увидим, что нужный файл теперь является вложенным к форме MainForm. Скришот ниже.

Visual Studio - Обозреватель решений - MainForm

В завершение открываем добавленный файл MainForm.implementation.cs и добавляем в него строки по аналогии с файлом MainForm.Designer.cs

1
2
3
4
5
6
namespace FilmCollection
{
    partial class MainForm
    {
    }
}

Ключевое слово partial необходимо для обозначения кода текущего файла как часть класса MainForm, это и есть проявление разделяемых классов (Partial Class).


26th Июл 2016
Теги:
Загрузка Все права защищены © 2016 ИТ-Инженер (Краснодар)
 
把手拿回