Клиент: создание приложения Windows Forms



 

Снова запускаем Visual Studio 2010, откроется Начальная страница:

 

Для начала, надо создать проект, для этого выполним последовательно: Файл -> Создать -> Проект… (также можно просто нажать сочетание клавиш Ctrl + Shift + N или пункт «Создать проект…» на Начальной странице).

 

Выберем слева в пункте Установленные шаблоны язык Visual C #, далее найдём в списке Приложение Windows Forms. Также здесь можно выбрать какой использовать «фреймворк» (набора компонентов для написания программ). В нашем случае выберем . NET Framework 4.

 

В поле Имя вводим LWP 11- Client — это название программы (выбрано по названию лабораторного практикума, номеру и названию работы, через тире в названии обозначаем принадлежность будущего приложения). В поле Расположение указана конечная директория, где будет находиться весь проект. Выберем расположение удобное для быстрого поиска. В поле Имя решения вводится либо название программы «по умолчанию» из поля Имя автоматически, либо можно ввести своё собственное. Под этим именем будет создана конечная папка проекта (если Имя и Имя решения разные).

 

Рис. 3. 1. Вводим данные нового проекта приложения Windows Forms

 

После нажатия клавиши ОК мы увидим сформированный проект и исходный код приложения Windows Forms (не пустого изначально).

 

Рис. 3. 2. Обозреватель решений: состав проекта приложения Windows Forms сформированного средой разработки

 

Теперь, можно откомпилировать созданную программу, нажав клавишу F 5 (Отладка -> Начать отладку или нажав на иконку . Тем самым мы запускаем приложение в режиме отладки (и производим компиляцию debug-версии программы) (Debug выбрано изначально).

 

Рис. 3. 3. Запуск приложения Windows Forms по конфигурации Debug

 

Модифицируем приложение. Для начала изменим размер нашей единственной формы. Для этого можно потянуть за уголок в нужном направлении на странице визуального представления формы1. Но также размер можно менять на панели свойств этой формы. Для этого нужно поменять значение размера в пикселях (высоту и ширину) в поле Size.

 

ПРИМЕЧАНИЕ № 1: Для перехода на визуальное представление формы, необходимо двойным нажатием в обозревателе решений нажать на значок формы ( ) или выбрать вкладку на панели вкладок с именем <имя формы>. cs [Конструктор].

 

Задаём следующие параметры формы на панели Свойства:

 

( Name ) изменим с Form 1. cs 2 на LWP 11 Main

^ Поменяем внутреннее имя формы.

Text изменим с Form 1 на Динамическая связь приложений ( C #) :: Клиент

^ Поменяем заголовок формы (то что отображается в шапке приложения слева).

Icon изменим изображение (иконку) приложения

^ Необходим файл значка *. ico.

Size изменим со значений 300; 300 на 500; 200

^ Поменяем размер формы.

 

ПРИМЕЧАНИЕ № 2: Для того, чтобы поменять имя файла нашей формы, необходимо выполнить следующее: выделить в обозревателе решений значок формы ( ) и нажать правую кнопку мыши, затем выбрать Переименовать. Ввести необходимое новое имя СОХРАНЯЯ расширение *. cs. После смены имени, автоматически поменяются имена проассоциированных непосредственно с формой файлов:

 

Получим нечто подобное:

 

Рис. 3. 4. Модифицированная форма приложения

 

Теперь необходимо добавить удалённый объект в качестве Ссылки. Выполним: Проект -> Добавить ссылку, либо ПКМ на Ссылки в обозревателе решений, далее Добавить ссылку...:

 

В открывшемся окне перейдём на вкладку Обзор, укажем путь к библиотеке классов, которую мы уже скомпилировали:

 

Рис. 3. 5. Добавить ссылку: выбор нужного объекта, а именно ранее скомпилированной библиотеки классов: LWP 11- RemoteObject . dll

 

Жмём ОК. Удалённый объект добавлен в наше приложение и теперь можно работать с классами, предоставленными этим объектом:

 

Теперь приступим к формированию элементов и их функциональности. Для начала расставим элементы как показано на рисунке ниже:

 

Рис. 3. 6. Расстановка элементов на форме (на форме LWP 11 Main проекте LWP 11- Client)

 

Здесь два простых TextBox и два Label.

 

По порядку распишем Свойства каждого элемента:

 

TextBox:

(Name): TB_1
Size: 30; 20

TextBox:

(Name): TB_2
Size: 30; 20

 

Теперь отправляемся в код формы (правая кнопка мыши на значке формы, далее Перейти к коду или нажмём на клавишу F 7):

 

В самое начало кода добавим:

 

using LWP11_RemoteObject; // Подключаем объект

 

Найдём:

 

public partial class LWP11Main : Form

{

 

Добавим после:

 

   // Переменная для объекта

   private IRemoteSend1 _rs1;

   private IRemoteSend2 _rs2;

 

Событие KeyPress верхнего TextBox:

 

   private void TB_1_KeyPress(object sender, KeyPressEventArgs e)

   {

       // Введённые символы должны быть только цифрами, иначе ввода не будет (символ не введётся)

       if (!Char.IsDigit(e.KeyChar))

       {

           e.Handled = true;

       }

   }

 

Событие KeyPress нижнего TextBox:

 

   private void TB_2_KeyPress(object sender, KeyPressEventArgs e)

   {

       // Введённые символы должны быть только буквами, иначе ввода не будет (символ не введётся)

       if (!Char.IsLetter(e.KeyChar))

       {

           e.Handled = true;

       }

   }

 

Событие MouseClick формы LWP11Main:

 

   private void LWP11Main_MouseClick(object sender, MouseEventArgs e)

   {

       // Получаем объект

       _rs1 = (IRemoteSend1)Activator.GetObject(typeof(IRemoteSend1), "ipc://4567/RemoteSend1.rem"); // Открываем первый канал

       // Передаём координаты нажатия ЛКМ

       try

       {

           _rs1.Send(e.X, e.Y);

       }

       catch { }

   }

 

Последнее событие TextChanged нижнего TextBox:

 

   private void TB_2_TextChanged(object sender, EventArgs e)

   {

       // Получаем объект

       _rs2 = (IRemoteSend2)Activator.GetObject(typeof(IRemoteSend2), "ipc://4567/RemoteSend2.rem"); // Открываем первый канал

       // Передаём данные из TextBox

       try

       {

           _rs2.Send(Convert.ToInt16(TB_1.Text), TB_2.Text);

       }

       catch { }

   }

 

Компилируем приложение (Release) и запускаем. Проверяем работоспособность текстовых полей. Вводим в верхнее только цифры, в нижнее только буквы:

 

Рис. 3. 7. Окончательная работа приложения-клиента (LWP 11- Client . exe)

 


Дата добавления: 2019-09-13; просмотров: 160; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!