ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.09.2019

Просмотров: 421

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

№ 2 Windows Forms. Ð­Ð»ÐµÐ¼ÐµÐ½Ñ‚Ñ‹ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ  

Задание 

Создать  Ñ„орму  (или  Ñ„Ð¾Ñ€Ð¼Ñ‹  Ð´Ð»Ñ  Ð²Ð²Ð¾Ð´Ð°  Ð°Ð³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ñ…  Ð¾Ð±ÑŠÐµÐºÑ‚ов). 

Разместить Ð½Ð° Ð½ÐµÐ¹ Ð­Ð£ Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð°/вывода Ð¸Ð½Ñ„ормации Ð¾Ð± Ð¾Ð±ÑŠÐµÐºÑ‚е (создать ÑÐ²Ð¾Ð¸ 
типы). ÐÐ° Ñ„орме Ñ€Ð°Ð·Ð¼ÐµÑÑ‚ить Ð½Ðµ Ð¼ÐµÐ½ÐµÐµ 9-и Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… Ñ‚ипов Ð­Ð£(радиокнопки, 
списки, Ð¿Ð¾Ð»Ñ ввода, Ð¼ÐµÑ‚ки, ÐºÐ½Ð¾Ð¿ÐºÐ¸, ÑÐ»Ð°Ð¹Ð´ÐµÑ€Ñ‹, ÐºÐ°Ð»ÐµÐ½Ð´Ð°Ñ€ÑŒ  Ð¸ Ñ‚.д.). 

Создать  Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ельные  ÐºÐ½Ð¾Ð¿ÐºÐ¸  Ð´Ð»Ñ  ÑÐ¾Ñ…ранения  Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ð¾Ð¹ 

информации  Ð¸  Ð²Ñ‹Ð²Ð¾Ð´Ð°  (отображения  ÑÐ¾Ñ…раненных  Ð´Ð°Ð½Ð½Ñ‹Ñ…).  Ð—апись 
сохраняемых Ð¾Ð±ÑŠÐµÐºÑ‚ов Ð¸ Ñ‡Ñ‚ение выполнять Ð²./из Ñ„айлы Ñ‚ипа xml Ð¸/или json. 

Организовать Ð²Ð°Ð»Ð¸Ð´Ð°Ñ†Ð¸ÑŽ Ð²Ð²Ð¾Ð´Ð¸Ð¼Ñ‹Ñ… Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елем Ð´Ð°Ð½Ð½Ñ‹Ñ….  

Вариант 

Задание 

1, 9 

Университет:

  ÐžÐ±ÑŠÐµÐºÑ‚  â€“  Â«Ð¡Ñ‚удент».  ÐŸÐ¾Ð»Ñ:  Ð¤Ð˜Ðž,  Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚, 

специальность,  Ð´Ð°Ñ‚а  Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ,  ÐºÑƒÑ€Ñ,  Ð³Ñ€ÑƒÐ¿Ð¿Ð°,  ÑÑ€ÐµÐ´Ð½Ð¸Ð¹  Ð±Ð°Ð»Ð»,  Ð¿Ð¾Ð», 
адреса Ð¸ Ð´Ñ€. ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ â€“ Â«ÐÐ´Ñ€ÐµÑÂ». ÐŸÐ¾Ð»Ñ: Ð³Ð¾Ñ€Ð¾Ð´, Ð¸Ð½Ð´ÐµÐºÑ, 
улица, Ð´Ð¾Ð¼, ÐºÐ²Ð°Ñ€Ñ‚ира.  

Дополнительно:  ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹  Ð¾Ð±ÑŠÐµÐºÑ‚  â€“  Â«ÐœÐµÑÑ‚о  Ñ‚екущей 
работы». ÐŸÐ¾Ð»Ñ: компания, Ð´Ð¾Ð»Ð¶Ð½Ð¾ÑÑ‚ÑŒ, ÑÑ‚раж Ð¸ Ñ‚.д.

2, 10 

Банк.

  ÐžÐ±ÑŠÐµÐºÑ‚  â€“  Â«Ð¡Ñ‡ÐµÑ‚».  ÐŸÐ¾Ð»Ñ:  Ð½Ð¾Ð¼ÐµÑ€,  Ñ‚ип  Ð²ÐºÐ»Ð°Ð´Ð°,  Ð±Ð°Ð»Ð°Ð½Ñ,  Ð´Ð°Ñ‚а 

открытия, Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ†, Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ ÑÐ¼Ñ Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ, Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ 
интернет-банкинга  Ð¸  Ñ‚.д.  ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹  Ð¾Ð±ÑŠÐµÐºÑ‚  â€“  Â«Ð’ладелец». 
Поля: Ð¤Ð˜Ðž, Ð´Ð°Ñ‚а рождения, Ð¿Ð°ÑÐ¿Ð¾Ñ€Ñ‚ные Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð¸ Ñ‚.д. 

Дополнительно:  ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹  Ð¾Ð±ÑŠÐµÐºÑ‚  â€“  Â«Ð˜ÑÑ‚ория  Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¹Â». 

Поля: тип Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸, ÑÑƒÐ¼Ð¼Ð°, Ð´Ð°Ñ‚а Ð¸ т.д.

3, 11 

Учебный  Ð¾Ñ‚Ð´ÐµÐ»

.  ÐžÐ±ÑŠÐµÐºÑ‚  â€“  Â«Ð”исциплина».  ÐŸÐ¾Ð»Ñ:  Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ, 

семестр,  ÐºÑƒÑ€Ñ,  ÑÐ¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð¾ÑÑ‚ÑŒ,  ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚во  Ð»ÐµÐºÑ†Ð¸Ð¹,  ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚во 
лабораторных, Ð²Ð¸Ð´ ÐºÐ¾Ð½Ñ‚роля, ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚во ÑÑ‚удентов, Ð»ÐµÐºÑ‚ор Ð¸ Ñ‚.д. 
Агрегируемый Ð¾Ð±ÑŠÐµÐºÑ‚: Â«Ð›ÐµÐºÑ‚ор». ÐŸÐ¾Ð»Ñ: ÐºÐ°Ñ„едра, Ð¤Ð˜Ðž, Ð°ÑƒÐ´Ð¸Ñ‚ория 
и Ñ‚.д.  

Дополнительно:  ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚  â€“  Â«Ð¡Ð¿Ð¸ÑÐ¾Ðº  Ð»Ð¸Ñ‚ературы». 
Поля: название, Ð°Ð²Ñ‚ор, Ð³Ð¾Ð´ Ð¸ Ñ‚.д. 

4, 12 

Библиотека.

 ÐžÐ±ÑŠÐµÐºÑ‚ â€“ Â«ÐšÐ½Ð¸Ð³Ð°Â». ÐŸÐ¾Ð»Ñ: Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ, Ð£Ð”К, ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚во 

страниц,  Ð¸Ð·Ð´Ð°Ñ‚ельство,  Ð³Ð¾Ð´,  Ð½Ð°Ð»Ð¸Ñ‡Ð¸Ðµ  CD,  DVD,  ÑÐ¿Ð¸ÑÐ¾Ðº  Ð°Ð²Ñ‚оров, 
дата Ð¿Ð¾ÑÑ‚упления. ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ â€“ Â«ÐÐ²Ñ‚ор»: Ð¤Ð˜Ðž, ÑÑ‚рана, 
пол Ð¸ т.д.  

Дополнительно: ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ â€“ Â«Ð˜Ð·Ð´Ð°Ñ‚ельство». ÐŸÐ¾Ð»Ñ: 
название,  ÑÑ‚рана,  Ð³Ð¾Ñ€Ð¾Ð´,  Ð³Ð¾Ð´  Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ,  Ñ‡Ð°ÑÑ‚ное  Ð¸Ð»Ð¸ 
государственное, Ð¸ Ñ‚.д. 


background image

Вариант 

Задание 

5, 13 

Зоопарк.

  ÐžÐ±ÑŠÐµÐºÑ‚  Â«Ð–ивотное».  ÐŸÐ¾Ð»Ñ:  Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ,  Ñ‚ип,  Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ, 

отряд,  Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚,  ÐºÐ»Ð°ÑÑ,  Ð·Ð°Ð½ÐµÑÐµÐ½  Ð²  ÐºÑ€Ð°ÑÐ½ÑƒÑŽ  ÐºÐ½Ð¸Ð³Ñƒ,  Ð°Ñ€ÐµÐ°Ð»  Ð¾Ð±Ð¸Ñ‚ания 
(список Ð¼ÐµÑÑ‚), ÐºÑƒÑ€Ð°Ñ‚ор (ответственное Ð»Ð¸Ñ†Ð¾), Ð´Ð°Ñ‚а Ð¿Ð¾ÑÑ‚упления Ð¸ 
т.д.  ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹  Ð¾Ð±ÑŠÐµÐºÑ‚  Â«ÐœÐµÑÑ‚о  Ð¾Ð±Ð¸Ñ‚ания».  ÐŸÐ¾Ð»Ñ:  ÐºÐ¾Ð½Ñ‚инент, 
широта, Ð´Ð¾Ð»Ð³Ð¾Ñ‚а, Ñ€Ð°Ð¹Ð¾Ð½, Ð¿Ð»Ð¾Ñ‰Ð°Ð´ÑŒ (км

2

) Ð¸ Ñ‚.д. 

Дополнительно:    ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹  Ð¾Ð±ÑŠÐµÐºÑ‚  â€“  Â«ÐšÑƒÑ€Ð°Ñ‚ор». 
Обязательные Ð¿Ð¾Ð»Ñ: ФИО, ÑÑ‚рана Ð¸ Ñ‚.д.

6, 14 

IT  Ð»Ð°Ð±Ð¾Ñ€Ð°Ñ‚ория.

  ÐžÐ±ÑŠÐµÐºÑ‚  Â«ÐšÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ер».  ÐŸÐ¾Ð»Ñ:  Ñ‚ип  ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ера 

(сервер,  Ñ€Ð°Ð±Ð¾Ñ‡Ð°Ñ  ÑÑ‚анция,  Ð½Ð¾ÑƒÑ‚бук    â€¦..),  Ð¿Ñ€Ð¾Ñ†ÐµÑÑÐ¾Ñ€,  Ð²Ð¸Ð´ÐµÐ¾ÐºÐ°Ñ€Ñ‚а, 
размер  Ð¸  Ñ‚ип  ÐžÐ—У,  Ñ€Ð°Ð·Ð¼ÐµÑ€  Ð¸  Ñ‚ип  Ð¶ÐµÑÑ‚кого  Ð´Ð¸ÑÐºÐ°,  Ð´Ð°Ñ‚а 
приобретения  Ð¸  Ñ‚.д.  ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹  Ð¾Ð±ÑŠÐµÐºÑ‚  Â«ÐŸÑ€Ð¾Ñ†ÐµÑÑÐ¾Ñ€Â».  ÐŸÐ¾Ð»Ñ: 
производитель,  ÑÐµÑ€Ð¸Ñ,  Ð¼Ð¾Ð´ÐµÐ»ÑŒ,  ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚во  ÑÐ´ÐµÑ€  Ð¿Ñ€Ð¾Ñ†ÐµÑÑÐ¾Ñ€Ð°,  Ñ‚ип 
процессора,  Ñ‡Ð°ÑÑ‚ота,  Ð¼Ð°ÐºÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ  Ñ‡Ð°ÑÑ‚ота,  Ñ€Ð°Ð·Ñ€ÑÐ´Ð½Ð¾ÑÑ‚ÑŒ 
архитектуры, Ñ€Ð°Ð·Ð¼ÐµÑ€ ÐºÑÑˆÐ° L1-L3.  

Дополнительно:  ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹  Ð¾Ð±ÑŠÐµÐºÑ‚  Â«Ð’идеокарта».  ÐŸÐ¾Ð»Ñ: 
производитель,  ÑÐµÑ€Ð¸Ñ,  Ð¼Ð¾Ð´ÐµÐ»ÑŒ,  Ñ‡Ð°ÑÑ‚ота,  Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ°  DiretX11, 
объем Ð¿Ð°Ð¼ÑÑ‚и. 

7, 15 

Аэропорт.

  ÐžÐ±ÑŠÐµÐºÑ‚  Â«Ð¡Ð°Ð¼Ð¾Ð»ÐµÑ‚».  ÐŸÐ¾Ð»Ñ:  ID,  Ñ‚ип  (пассажирский, 

грузовой, Ð²Ð¾ÐµÐ½Ð½Ñ‹Ð¹),  Ð¼Ð¾Ð´ÐµÐ»ÑŒ (Airbus….) , Ñ‡Ð»ÐµÐ½Ñ‹ ÑÐºÐ¸Ð¿Ð°Ð¶Ð° (список), 
количество Ð¼ÐµÑÑ‚, Ð³Ð¾Ð´ Ð²Ñ‹Ð¿ÑƒÑÐºÐ°, Ð³Ñ€ÑƒÐ·Ð¾Ð¿Ð¾Ð´ÑŠÐµÐ¼Ð½Ð¾ÑÑ‚ÑŒ, Ð´Ð°Ñ‚а Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐ³Ð¾ 
тех. Ð¾Ð±ÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸ Ñ‚.п. ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ Â«Ð§Ð»ÐµÐ½ Ð­ÐºÐ¸Ð¿Ð°Ð¶Ð°Â». 
Поля: Ð¤Ð˜Ðž, Ð´Ð¾Ð»Ð¶Ð½Ð¾ÑÑ‚ÑŒ (пилот, ÑÑ‚юардесса…), Ð²Ð¾Ð·Ñ€Ð°ÑÑ‚, ÑÑ‚аж Ð¸ Ñ‚.д.  

Дополнительно:  ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹  Ð¾Ð±ÑŠÐµÐºÑ‚  Â«ÐŸÑ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ель».  ÐŸÐ¾Ð»Ñ: 
название, ÑÑ‚рана, Ð³Ð¾Ð´ Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ, Ñ‚ипы Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ð¼Ñ‹Ñ… ÑÐ°Ð¼Ð¾Ð»ÐµÑ‚ов 
и Ñ‚.д. 

8, 16 

Магазин.

Основной  Ð¾Ð±ÑŠÐµÐºÑ‚  Â«Ð¢Ð¾Ð²Ð°Ñ€Â».  ÐŸÐ¾Ð»Ñ:  Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ, 

инвентарный  Ð½Ð¾Ð¼ÐµÑ€,  Ñ€Ð°Ð·Ð¼ÐµÑ€,  Ð²ÐµÑ,  Ñ‚ип,  Ð´Ð°Ñ‚а  Ð¿Ð¾ÑÑ‚упления, 
количество,  Ñ†ÐµÐ½Ð°,  Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ель.  ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹  Ð¾Ð±ÑŠÐµÐºÑ‚ 
«Производитель». ÐŸÐ¾Ð»Ñ: Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ, страна, Ð°Ð´Ñ€ÐµÑ, Ñ‚елефон.  

Дополнительно: ÐÐ³Ñ€ÐµÐ³Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚ Â«ÐšÐ»Ð°Ð´Ð¾Ð²Ñ‰Ð¸ÐºÂ». ÐŸÐ¾Ð»Ñ: Ð¤Ð˜Ðž, 
стаж, Ð°Ð´Ñ€ÐµÑ Ð¸ Ñ‚.д.

Дополнительные указания 

Упрощенный Ð¿Ñ€Ð¸Ð¼ÐµÑ€ 

using

 System; 

using

 System.Collections.Generic; 

using

 System.IO; 

using

 System.Linq; 


background image

using

 System.Xml.Serialization; 

namespace

 NetW 


    

class

Program

    { 
        

static

void

 Main() 

        { 
            

var

 role = 

new

List

<

Role

> { 

new

Role

 { Id = 

Guid

.NewGuid(), Name = 

"User"

 } 

}; 
            

var

 users = 

new

List

<

User

            { 
                

new

User

(

"Ivan"

"Ivanov"

, 24) 

                { 
                    Roles = role, 
                    Type = 

UserType

.New, 

                    Sex = 

'M'

                }, 
 
                

new

User

(

"Nikita"

"Nikolaev"

, 24) 

                { 
                    Roles = role, 
                    Type = 

UserType

.New, 

                    Sex = 

'M'

                }, 
            }; 
 
            

XmlSerializeWrapper

.Serialize(users, 

"users.xml"

); 

            

var

 deserializeUsers = 

XmlSerializeWrapper

.Deserialize<

List

<

User

>>(

"users.xml"

); 

 
            

XmlSerializeWrapper

.Serialize(users.First(), 

"user.xml"

); 

            

var

 deserializeUser = 

XmlSerializeWrapper

.Deserialize<

User

>(

"user.xml"

); 

        } 
    } 
 
    [

Serializable

    [

XmlRoot

(Namespace = 

"NetW"

)] 

    [

XmlType

(

"user"

)] 

    

public

class

User

    { 
        

public

 User() 

        { 
            Id = 

Guid

.NewGuid(); 

        } 
 
        

public

 User(

string

 firstName, 

string

 lastName, 

int

 age) : 

this

() 

        { 
            FirstName = firstName; 
            LastName = lastName; 
            Age = age; 
        } 
 
        [

XmlIgnore

        

public

char

 Sex { 

get

set

; } 

 
        [

XmlElement

(ElementName = 

"id"

)] 

        

public

Guid

 Id { 

get

set

; } 

 
        [

XmlElement

(ElementName = 

"name"

)] 

        

public

string

 FirstName { 

get

set

; } 

 
        [

XmlElement

(ElementName = 

"surname"

)] 

        

public

string

 LastName { 

get

set

; } 

 
        [

XmlElement

(ElementName = 

"age"

)] 

        

public

int

 Age { 

get

set

; } 

 
        [

XmlElement

(ElementName = 

"type"

)] 


background image

        

public

UserType

 Type { 

get

set

; } 

 
        [

XmlArray

(

"roles"

)] 

        [

XmlArrayItem

(

"role"

)] 

        

public

List

<

Role

> Roles { 

get

set

; } 

    } 
 
    [

Serializable

    

public

class

Role

    { 
        

public

Guid

 Id { 

get

set

; } 

 
        

public

string

 Name { 

get

set

; } 

    } 
 
    [

Serializable

    

public

enum

UserType

    { 
        [

XmlEnum

(

"L"

)] 

        Locked, 
        [

XmlEnum

(

"N"

)] 

        New 
    } 
 
    

public

static

class

XmlSerializeWrapper

    { 
        

public

static

void

 Serialize<

T

>(

T

 obj, 

string

 filename) 

        { 
            

XmlSerializer

 formatter = 

new

XmlSerializer

(

typeof

(

T

)); 

 
            

using

 (

FileStream

 fs = 

new

FileStream

(filename, 

FileMode

.OpenOrCreate)) 

            { 
                formatter.Serialize(fs, obj); 
            } 
        } 
 
        

public

static

T

 Deserialize<

T

>(

string

 filename) 

        { 
            

T

 obj; 

            

using

 (

FileStream

 fs = 

new

FileStream

(filename, 

FileMode

.OpenOrCreate)) 

            { 
                

XmlSerializer

 formatter = 

new

XmlSerializer

(

typeof

(

T

)); 

                obj = (

T

)formatter.Deserialize(fs); 

            } 
 
            

return

 obj; 

        } 
    } 

Элементы ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ 

 
Ознакомиться  Ñ  ÐºÐ»Ð°ÑÑÐ°Ð¼Ð¸  Ð­Ð£  Ð¸Ñ…  Ð¼ÐµÑ‚одами,  ÑÐ²Ð¾Ð¹ÑÑ‚вами  Ð¸  Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð°Ð¼Ð¸ 

работы Ð¼Ð¾Ð¶Ð½Ð¾ Ð½Ð°: 

https://msdn.microsoft.com/ru-ru/library/3xdhey7w(v=vs.110).aspx

Классы Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ XML 

https://msdn.microsoft.com/ru-ru/library/2bcctyt8(v=vs.110).aspx


background image

Проверка Ð´Ð°Ð½Ð½Ñ‹Ñ…, Ð²Ð²Ð¾Ð´Ð¸Ð¼Ñ‹Ñ… Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елем

Практически Ð»ÑŽÐ±Ð¾Ðµ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ð»ÑƒÑ‡Ð°ÐµÑ‚ Ð´Ð°Ð½Ð½Ñ‹Ðµ Ð¾Ñ‚ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚еля. Ð•сли 

разработчик Ñ…очет Ð´Ð¾Ð±Ð¸Ñ‚ься ÑÑ‚абильной Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ ÑÐ²Ð¾ÐµÐ³Ð¾ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ, Ñ‚о ÑÐ»ÐµÐ´ÑƒÐµÑ‚ 
придерживаться Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°: Â«

Никакая Ð¸Ð½Ñ„ормация Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елем Ð½Ðµ 

является  Ð¿Ð¾Ð»Ð½Ð¾ÑÑ‚ью  Ð½Ð°Ð´ÐµÐ¶Ð½Ð¾Ð¹  Ð¸  Ð¿Ð¾Ð´Ð»ÐµÐ¶Ð¸Ñ‚  Ð¾Ð±ÑÐ·Ð°Ñ‚ельной  Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐµ

». 

Проверка может осуществляться двумя способами. 

Проверка Ð½Ð° ÑƒÑ€Ð¾Ð²Ð½Ðµ Ð¿Ð¾Ð»Ñ 

Иногда  Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾  Ð¿Ñ€Ð¾Ð²ÐµÑ€ÑÑ‚ÑŒ  Ð´Ð°Ð½Ð½Ñ‹Ðµ  ÑÑ€Ð°Ð·Ñƒ  Ð¿Ð¾ÑÐ»Ðµ  Ð¸Ñ…  Ð²Ð²Ð¾Ð´Ð°.  Ð¡Ð°Ð¼Ñ‹Ð¼ 

распространенным ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚ом ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð° Ð´Ð°Ð½Ð½Ñ‹Ñ… ÑÐ²Ð»ÑÐµÑ‚ся TextBox. 
У  Ð½ÐµÐ³Ð¾  Ð²  Ñ‡Ð°ÑÑ‚ности  ÐµÑÑ‚ÑŒ  ÑÐ²Ð¾Ð¹ÑÑ‚во  MaxLength,  ÐºÐ¾Ñ‚орое  Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡Ð¸Ð²Ð°ÐµÑ‚  Ñ‡Ð¸ÑÐ»Ð¾ 
символов, ÐºÐ¾Ñ‚орые можно Ð²Ð²ÐµÑÑ‚и в Ñ‚екстовое Ð¿Ð¾Ð»Ðµ.  

Элементы  ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ,  Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°ÑŽÑ‰Ð¸Ðµ  Ð²Ð²Ð¾Ð´  Ñ  ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚уры  Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€ÑƒÑŽÑ‚ 

следующие ÑÐ¾Ð±Ñ‹Ñ‚ия: 

KeyDown,  KeyUp  â€“  Ð»ÑŽÐ±Ð°Ñ  ÐºÐ»Ð°Ð²Ð¸ÑˆÐ°  Ð½Ð°Ð¶Ð°Ñ‚а,  Ð»ÑŽÐ±Ð°Ñ  ÐºÐ»Ð°Ð²Ð¸ÑˆÐ°  Ð¾Ñ‚пущена. 

Когда  Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒ  Ð½Ð°Ð¶Ð¸Ð¼Ð°ÐµÑ‚  ÐºÐ»Ð°Ð²Ð¸ÑˆÑƒ,  ÐºÐ¾Ñ‚орой  ÑÐ¾Ð¾Ñ‚ветствует  Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ 
ASCII,  Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€ÑƒÐµÑ‚ся  ÑÐ¾Ð±Ñ‹Ñ‚ие  KeyPress.  Ð˜Ð¼ÐµÐ½Ð½Ð¾  Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐµ  ÑÐ¾Ð±Ñ‹Ñ‚ие 
применяется  Ð´Ð»Ñ  Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸  Â«Ð½Ð°  Ð»ÐµÑ‚у»  Ð²Ð²Ð¾Ð´Ð¸Ð¼Ñ‹Ñ…  ÑÐ¸Ð¼Ð²Ð¾Ð»Ð¾Ð².  ÐŸÑ€Ð¸  Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ 
события  Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚чик  Ð¿Ð¾Ð»ÑƒÑ‡Ð°ÐµÑ‚  ÑÐºÐ·ÐµÐ¼Ð¿Ð»ÑÑ€  ÐºÐ»Ð°ÑÑÐ°  KeyPressEventArgs.  Ð£  Ð½ÐµÐ³Ð¾ 
есть  Ð´Ð²Ð°  ÑÐ²Ð¾Ð¹ÑÑ‚ва:  KeyChar  â€“  Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚  Ð½Ð°Ð¶Ð°Ñ‚ый  ÑÐ¸Ð¼Ð²Ð¾Ð».  Ð—начение  ÑÑ‚ого 
свойства  Ð¼Ð¾Ð¶Ð½Ð¾  Ð¿Ñ€Ð¾Ð²ÐµÑ€ÑÑ‚ÑŒ  Ñ  Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ  ÑÑ‚атических  Ð¼ÐµÑ‚одов  ÐºÐ»Ð°ÑÑÐ°  Char  Ð½Ð° 
принадлежность Ðº Ñ‚ой Ð¸Ð»Ð¸ Ð¸Ð½Ð¾Ð¹ Ð³Ñ€ÑƒÐ¿Ð¿Ðµ. 

Char.IsDigit, 

Char.IsLetter, 

Char.IsLetterOrDigit, 

Char.IsPunctuation, 

Char.IsLower, Char.IsUpper. 

Второе ÑÐ²Ð¾Ð¹ÑÑ‚во â€“ Handled. ÐžÐ¿Ñ€ÐµÐ´ÐµÐ»ÑÐµÑ‚, Ð±Ñ‹Ð»Ð¾ Ð»Ð¸ ÑÐ¾Ð±Ñ‹Ñ‚ие Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ано. 

Если Ð¾Ð½Ð¾ Ð¿Ñ€Ð¸Ð½Ð¸Ð¼Ð°ÐµÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ false, Ñ‚о ÑÐ¾Ð±Ñ‹Ñ‚ие ÑÑ‡Ð¸Ñ‚ается Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚анным Ð¸ 
пересылается Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ¸ÑÑ‚еме Ð´Ð»Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ¹ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ки, ÐµÑÐ»Ð¸ true â€“ Ñ‚о 
событие  ÑÑ‡Ð¸Ñ‚Ð°ÐµÑ‚ÑÑ  Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚анным  Ð¸  Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐ¸Ñ…  Ð´ÐµÐ¹ÑÑ‚вий  Ð½Ðµ  Ð¿Ñ€Ð¾Ð¸ÑÑ…одит. 
Например, Ð¼Ñ‹ Ñ…отим Ð¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð¾Ð²Ð°Ñ‚ÑŒ Ñ‚екстовое Ð¿Ð¾Ð»Ðµ, ÐºÑƒÐ´Ð° Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ñ‚олько 
цифры.  

private

void

 myTextBox_KeyPress(

object

 sender, KeyPressEventArgs e) 

e.Handled = !Char.IsDigit(e.KeyChar); 

Здесь  Ð¾Ð±ÑÐ·Ð°Ñ‚ельно  Ð¾Ñ‚рицание.  ÐžÐ´Ð½Ð°ÐºÐ¾,  Ð¼Ð¾Ð¶ÐµÑ‚  Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ься  ÑÐ¸Ñ‚уация, 

когда ÐºÐ°Ð¶Ð´Ñ‹Ð¹ Ð¾Ñ‚дельный ÑÐ¸Ð¼Ð²Ð¾Ð» ÑÐ²Ð»ÑÐµÑ‚ся Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ‹Ð¼, Ð½Ð¾ Ð²ÐµÑÑŒ Ñ‚екст 
является Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚ным. ÐÐ°Ð¿Ñ€Ð¸Ð¼ÐµÑ€, Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ‹Ð¹ Ñ‚екст ÑÐ²Ð»ÑÐµÑ‚ся Ñ‡Ð¸ÑÐ»Ð¾Ð¼, Ð½Ð¾ Ð¾Ð½Ð¾ 
выходит Ð·Ð° Ð´Ð¾Ð¿ÑƒÑÑ‚имые логикой Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ пределы. 

Для Ñ‚акой Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÑ‚ся Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ка ÑÐ¾Ð±Ñ‹Ñ‚ия Validating, ÐºÐ¾Ñ‚орое 

генерируется ÐŸÐ•РЕД Ð¿Ð¾Ñ‚ерей Ñ„окуса ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚ом ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ. Ð¡Ð¾Ð±Ñ‹Ñ‚ие Ð±ÑƒÐ´ÐµÑ‚ 
сгенерировано Ñ‚олько Ð² Ñ‚ом ÑÐ»ÑƒÑ‡Ð°Ðµ, ÐµÑÐ»Ð¸ ÑÐ²Ð¾Ð¹ÑÑ‚во CausesValidation Ñƒ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ 
элемента Ð¸ Ñƒ ÑÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð¿Ð¾Ð»ÑƒÑ‡Ð°ÑŽÑ‰ÐµÐ³Ð¾ Ñ„окус ÑÐ»ÐµÐ´ÑƒÑŽÑ‰Ð¸Ð¼ ÑƒÑÑ‚ановлено Ð² true. Ð’ 
обработчик 

события 

передается 

объект 

класса 

System.ComponentModel.CancelEventArgs.  Ð£  ÑÑ‚ого  ÐºÐ»Ð°ÑÑÐ°  ÐµÑÑ‚ÑŒ  ÑÐ²Ð¾Ð¹ÑÑ‚во