Пользовательский элемент управления. Создание клиентского приложения. Развитие серверного проекта, страница 2

Создание клиентского приложения

В этот момент удобно ввести в рабочее пространство (solution Plot) еще один проект, который и будет содержать код клиентского приложения.

¨  В окне Solution Explorer выделите самую верхнюю строку Solution Plot, нажмите правую кнопку мыши и в контекстном меню выберите команду Add4New Project.

¨  В окне диалога New Project раскройте узел дерева под именем Visual C# Projects в окне Project Type, а в окне Templates выберите тип проекта Windows Application.

¨  В окне Name задайте имя проекта PlotClient.

¨  Нажмите OK. Студия создаст новый проект и вы увидите форму клиентского приложения, открытую в режиме дизайна.

Теперь необходимо связать новый проект со старым путем добавления ссылки (reference) на DLL в коллекцию ссылок (References), которая изначально присутствует в любом проекте. Некоторые версии студии способны автоматически добавлять в проект (клиента) ссылки на проект (сервера).

¨  В окне Solution Explorer раскройте узел References проекта PlotClient. Если среди ветвей этого узла отсутствует строка с именем Plot, то добавьте ее, выбрав команду Add Reference из контекстного меню узла References.

¨  В диалоге Add Reference откройте вкладку Projects. В главном списке должна присутствовать строка с именем предыдущего проекта (Plot) и полным путем к файлу Plot.dll. Если это так, то нажмите кнопку Select для того, чтобы ссылка попала в список Selected Components внизу окна. Если нет, то нажмите кнопку Browse... и найдите файл Plot.dll, который был создан в момент построения предыдущего проекта (командой Build Plot). Напомним, что файл прячется с папке ..\bin\Debug старого проекта. Закройте диалог Add Reference с помощью кнопки OK.

¨  Благодаре ссылке на библиотеку Plot, в окне Toolbox текущего проекта появится новая вкладка My User Controls, в которой должен присутствовать элемент PlotControl. Заметьте, что сам элемент доступен лишь тогда, когда активно окно Form1.cs (Design) нового проекта.

¨  В окне Toolbox найдите вкладку My User Controls, выделите в ней элемент типа PlotControl и притащите его на форму.

¨  Не меняя размеров элемента PlotControl, подстройте размеры клиентского окна так, чтобы окно сервера было полностью видно. Размеры внедряемого компонента PlotControl должны быть не меньше тех, которые были заданы при его проектировании (в окне Plot.cs-Design), иначе он будет урезан. Следите за этим во время развития клиентского проекта.

¨  Перейдите в окно Solution Explorer, выделите в нем проект PlotClient, включите контекстное меню и дайте команду Set as SturtUp Project.

¨  Постройте клиентское приложение (Build4Build PlotClient). В папке ..\PlotClient\bin\Debug проекта должен появиться файл PlotClient.exe.

При запуске на выполнение (Ctrl+F5) вы увидите форму клиентского приложения с внедренным в нее элементом. Увидеть бездействующий элемент типа PlotControl можно только в случае, если его фон (свойство BackColor) отличается от фона самой формы.

Стартовый проект

Приложение-сервер (dll-файл) не может быть запущено самостоятельно — оно запускается только в рамках клиентского приложения. Для удобства отладки сервера в студии существует два выбора:

¨  Сделать активным проект PlotClient (а он ссылается на проект Plot) и не менять этой установки.

¨  Внести коррективы в настройки проекта сервера (Plot) так, чтобы при его запуске (Ctrl+F5 или F5) клиент запускался автоматически.

Факт активности проекта отмечается более жирным шрифтом имени проекта в окне Solution Explorer. Вы можете управлять активностью того или иного проекта с помощью команды Set as StartUp Project контекстного меню, вызванного над именем проекта.

Второй сценарий хорош, только когда все решение (solution) живет на одной машине. При переносе на другую придется производить перенастройки файловых путей. Покажем, как реализовать этот сценарий:

¨  Возвратитесь к первому проекту (сервера), и сделайте его активным (Set as SturtUp Project).