Клиент: создание приложения 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!