SlideShare a Scribd company logo
1 of 35
Download to read offline
Темы лекции: Windows Forms.
Практическое задание: Приложение Windows Forms.
Тренер: Игорь Шкулипа, к.т.н.
Платформа .Net и язык программирования C#.
Занятие 8
http://www.slideshare.net/IgorShkulipa 2
MVC
Шаблон проектирования
MVC разделяет работу
веб-приложения на три
отдельные
функциональные роли:
• модель данных
(model)
• пользовательский
интерфейс (view)
• управляющую
логику (controller)
Таким образом, изменения,
вносимые в один из
компонентов, оказывают
минимально возможное
воздействие на другие
компоненты.
http://www.slideshare.net/IgorShkulipa 3
MVP
• Модель (model) представляет
собой интерфейс, определяющий
данные для отображения или
участвующие в пользовательском
интерфейсе иным образом
• Вид (view) - это интерфейс,
который отображает данные
(модель) и маршрутизирует
пользовательские команды (или
события) Presenter-у, чтобы тот
действовал над этими данными.
• Presenter действует над
моделью и видом. Он извлекает
данные из хранилища (модели), и
форматирует их для отображения
в Виде (view). Так же реализует
обработку событий вида.
http://www.slideshare.net/IgorShkulipa 4
MVC vs MVP
http://www.slideshare.net/IgorShkulipa 5
Windows Forms
Windows Forms является технологией интеллектуальных клиентов для
.NET Framework; это набор управляемых библиотек, обеспечивающих
распространенные задачи приложений, например чтение и запись в
файловую систему. С помощью среды разработки типа Visual Studio
можно создавать приложения Windows Forms, которые отображают
информацию, запрашивают ввод от пользователей и обмениваются
данными с удаленными компьютерами по сети.
Интеллектуальный клиент — это приложение с богатым графическим
интерфейсом, простое в развертывании и обновлении, способное
работать при наличии или отсутствии подключения к Интернету и
использующее более безопасный доступ к ресурсам на локальном
компьютере по сравнению с традиционными приложениями Windows.
В Windows Forms форма является видимой поверхностью, на которой
отображается информация для пользователя. Обычно приложение
Windows Forms строится путем помещения элементов управления на
форму и написанием кода для реагирования на действия
пользователя, такие как щелчки мыши или нажатия клавиш.
Элемент управления — это отдельный элемент пользовательского
интерфейса, предназначенный для отображения или ввода данных.
http://www.slideshare.net/IgorShkulipa 6
Упрощенная иерархия классов
Среди классов Windows Forms есть
обширный набор классов для
создания сложных графических
пользовательских интерфейсов. Эти
классы можно использовать в
приложениях, написанных на
любом языке .NET
Как правило, приложение Windows
Forms будет содержит главное
окно, которое реализовано с
помощью некоторого класса
MyForm, производного от класса
Form (Форма).
На рисунке изображена иерархия
классов Windows Forms
http://www.slideshare.net/IgorShkulipa 7
Класс Control
Класс Control определяет базовый класс для элементов управления,
являющихся компонентами с визуальным представлением.
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
public class Control : Component,
IDropTarget, ISynchronizeInvoke, IWin32Window,
IBindableComponent, IComponent, Idisposable
Чтобы создать собственный класс элементов управления, осуществите
наследование из классов UserControl, Control или из других элементов
управления, предоставляемых в Windows Forms. Дополнительные сведения
о самостоятельно разработанных пользовательских элементах управления
см. в разделе Разработка пользовательских элементов управления Windows
Forms в .NET Framework.
Класс Control реализует основные функциональные возможности, необходимые
для классов, отображающих сведения для пользователя. Он обрабатывает
входные данные, полученные с клавиатуры и указывающих устройств. Он
также обрабатывает операции, связанные с маршрутизацией сообщений и
безопасностью. Он определяет границы элемента управления (позицию и
размер), хотя и не реализует рисование.
http://www.slideshare.net/IgorShkulipa 8
Класс Application
Предоставляет статичные методы и свойства для управления приложением,
например методы для запуска и остановки приложения, для обработки
сообщений Windows и свойства для получения сведений о приложении.
Этот класс не наследуется.
public sealed class Application
Класс Application содержит методы для запуска и остановки приложений и
потоков, а также для обработки сообщений Windows:
• Run запускает цикл обработки сообщений приложения в текущем
потоке и при необходимости делает форму видимой.
• Exit или ExitThread останавливает цикл обработки сообщений.
• DoEvents обрабатывает сообщения пока программа в цикле.
• AddMessageFilter добавляет фильтр обработки сообщений.
• IMessageFilter позволяет предотвратить инициацию события и
выполнять особые операции до вызова обработчика событий.
• Этот класс содержит CurrentCulture и CurrentInputLanguage -
свойства для получения или задания данных о языке и региональных
параметрах для текущего потока.
http://www.slideshare.net/IgorShkulipa 9
Свойства класса Application
AllowQuit
Возвращает значение, указывающее, может ли вызывающий выйти из этого
приложения.
CommonAppDataPath Получает путь для данных приложения, являющихся общими для всех пользователей.
CommonAppDataRegistry
Получает раздел реестра для данных приложения, являющихся общими для всех
пользователей.
CompanyName Возвращает название компании, связанное с приложением.
CurrentCulture
Возвращает или задает сведения о языке и региональных параметрах для текущего
потока.
CurrentInputLanguage Получает или задает текущий язык ввода для текущего потока.
ExecutablePath
Возвращает путь исполняемого файла, запустившего приложение, включая имя
исполняемого файла.
LocalUserAppDataPath Получает путь для данных приложения локального неперемещающегося пользователя.
MessageLoop
Возвращает значение, указывающее, существует ли цикл обработки сообщений в этом
потоке.
OpenForms Возвращает коллекцию открытых форм, принадлежащих приложению.
ProductName Получает название продукта, связанное с этим приложением.
ProductVersion Возвращает версию продукта, связанное с этим приложением.
RenderWithVisualStyles
Возвращает значение, указывающее, допускает ли текущее приложение элементы
управления с помощью визуальных стилей.
SafeTopLevelCaptionFormat
Возвращает или задает строку форматирования для применения к заголовкам окна
верхнего уровня, когда они отображаются с баннером предупреждения.
StartupPath
Получает путь для исполняемого файла, запустившего приложение, не включая
исполняемое имя.
UserAppDataPath Получает путь для данных приложения пользователя.
UserAppDataRegistry Получает раздел реестра для данных приложения пользователя.
UseWaitCursor
Возвращает или задает, используется ли курсор ожидания для всех открытых форм
приложения.
VisualStyleState Возвращает значение, указывающее, как они применяются к окнам приложения.
http://www.slideshare.net/IgorShkulipa 10
Пространство имен System.Windows.Forms
Пространство имен System.Windows.Forms предоставляет следующие типы классов:
• Элементы управления, пользовательские элементы управления и формы.
Большинство классов в пространстве имен System.Windows.Forms являются
производными от класса Control. Класс Control предоставляет основные
функциональные возможности для всех элементов управления, отображаемых на
форме.
• Меню и панели инструментов. Набор классов, которые позволяют создавать
пользовательские панели инструментов и меню, отличающиеся современным
обликом и поведением.
• Элементы управления. Большое количество классов элементов управления, которые
позволяют создавать пользовательские интерфейсы с расширенными возможностями.
• Макет. Несколько важных классов в Windows Forms помогают контролировать
расположение элементов управления на отображаемой поверхности, например в
форме или элементе управления.
• Данные и привязка данных. Windows Forms обеспечивает расширенную архитектуру
для привязывания к таким источникам данных, как базы данных и XML-файлы.
• Компоненты. Помимо элементов управления пространство имен
System.Windows.Forms предоставляет другие классы, которые не являются
производными от класса Control, но также обеспечивают визуальные функции для
приложений Windows.
• Общие диалоговые окна.
Полный список содержимого System.Windows.Forms можно найти
http://msdn.microsoft.com/ru-ru/library/system.windows.forms.aspx
http://www.slideshare.net/IgorShkulipa 11
Создание приложения Windows Forms
http://www.slideshare.net/IgorShkulipa 12
Новый проект
http://www.slideshare.net/IgorShkulipa 13
Панель элементов
http://www.slideshare.net/IgorShkulipa 14
Пример. Windows Forms + MVP
Основная форма приложения
http://www.slideshare.net/IgorShkulipa 15
Интерфейс IView.
namespace WindowsForms
{
interface IView
{
string GetUser();
string GetPassword();
void UpdateUsers(List<string> users);
void ShowMessage(string message);
event EventHandler<EventArgs> UpdateUserList;
event EventHandler<EventArgs> TryLogin;
}
}
http://www.slideshare.net/IgorShkulipa 16
Модель
namespace WindowsForms
{
class Model {
public Dictionary<string, string> UsersAndPasswords { get; set; }
public List<string> Users {
get { return UsersAndPasswords.Keys.ToList<string>(); }
}
public Model() {
UsersAndPasswords = new Dictionary<string, string>();
UsersAndPasswords.Add("User1", "Password1");
UsersAndPasswords.Add("User2", "Password2");
UsersAndPasswords.Add("User3", "Password3");
UsersAndPasswords.Add("User4", "Password4");
UsersAndPasswords.Add("User5", "Password5");
}
public string TryToLogin(string user, string password) {
if (UsersAndPasswords.ContainsKey(user)) {
int index=UsersAndPasswords.Keys.ToList<string>().IndexOf(user);
if (UsersAndPasswords.Values.ToList<string>()[index].Equals(password))
{
return "Login Successful!";
}
}
return "Login Failed.";
}
}
}
http://www.slideshare.net/IgorShkulipa 17
Презентер
namespace WindowsForms
{
class Presenter
{
private IView view;
private Model model;
public Presenter(IView newView)
{
view = newView;
model = new Model();
view.UpdateUserList += new EventHandler<EventArgs>(UpdateUsers);
view.TryLogin += new EventHandler<EventArgs>(Login);
}
private void UpdateUsers(object sender, EventArgs e)
{
view.UpdateUsers(model.Users);
}
private void Login(object sender, EventArgs e)
{
string loginResult = model.TryToLogin(view.GetUser(), view.GetPassword());
view.ShowMessage(loginResult);
}
}
}
http://www.slideshare.net/IgorShkulipa 18
Класс основной формы
namespace WindowsForms
{
public partial class View : Form, IView {
public View() {
InitializeComponent();
}
string IView.GetUser() { return textBox1.Text; }
string IView.GetPassword() { return maskedTextBox1.Text; }
void IView.UpdateUsers(List<string> users) {
listBox1.Items.Clear();
foreach (var user in users)
listBox1.Items.Add(user.ToString());
}
public void ShowMessage(string message){
MessageBox.Show(message, "Login Result", MessageBoxButtons.OK);
}
private void View_Load(object sender, EventArgs e) {
UpdateUserList(sender, e);
}
private void button1_Click(object sender, EventArgs e) {
TryLogin(sender, e);
}
public event EventHandler<EventArgs> UpdateUserList;
public event EventHandler<EventArgs> TryLogin;
}
}
http://www.slideshare.net/IgorShkulipa 19
Автоматический код дизайнера форм
http://www.slideshare.net/IgorShkulipa 20
Результат
http://www.slideshare.net/IgorShkulipa 21
Основные элементы управления
TextBox
Позволяет пользователю вводить изменяемый текст, состоящий из
нескольких строк.
ToolStripTextBox
Позволяет пользователю вводить изменяемый текст, состоящий из
нескольких строк.
RichTextBox
Служит для ввода и отображения текста с форматированием, а также для
выполнения с ним различных действий пользователем.
Label Отображает текст, который не может быть изменен пользователем.
ToolStripLabel Отображает текст, который не может быть изменен пользователем.
LinkLabel Позволяет добавлять веб-ссылки в приложения форм Windows Forms.
StatusBar
Отображает сведения о состоянии элемента управления, на котором
находится фокус.
ToolStripStatusLabel
Отображение сведений о состоянии элемента управления, на котором
находится фокус.
CheckedListBox Отображает список элементов, рядом с каждым из которых стоит галочка.
ComboBox Отображает данные в раскрывающемся поле со списком.
ToolStripComboBox Отображает данные в раскрывающемся поле со списком.
DomainUpDown
Отображает текстовые строки, которые пользователь может просматривать
и выделять.
ListBox Отображает список текстовых и графических элементов (значков).
ListView Отображает список элементов со значками наподобие проводника Windows.
NumericUpDown Отображает числа, которые пользователь может просматривать и выделять.
TreeView Отображает иерархию узлов, которые можно разворачивать и сворачивать.
http://www.slideshare.net/IgorShkulipa 22
Основные элементы управления
PictureBox Отображает рисунки в формате BMP, GIF, JPEG, метафайлов и значков.
ImageList Отображает рисунки на других элементах управления.
CheckBox Указывает, включено ли какое-либо условие или выключено.
CheckedListBox Отображает список элементов, рядом с каждым из которых стоит флажок.
RadioButton
Предоставление набора как минимум из двух взаимоисключающих вариантов
выбора для пользователя.
TrackBar
Перемещение по тексту большого объема или наглядная настройка числового
параметра.
DateTimePicker Позволяет пользователю выбрать отдельный элемент в списке дат или времени.
MonthCalendar
Предоставляет понятный графический интерфейс для просмотра и задания
сведений о дате пользователями.
ColorDialog
Предоставляет стандартное диалоговое окно для выбора цветов из палитры, а
также для добавления в нее дополнительных цветов.
FolderBrowserDialog
Отображает интерфейс, который пользователь может просматривать и в котором
он может выбирать существующие папки и создавать новые.
FontDialog
Предоставляет приложениям шрифты, установленные в системе на текущий
момент.
OpenFileDialog Позволяет пользователям открывать файлы в стандартном диалоговом окне.
PageSetupDialog Задает параметры страницы для печати в стандартном диалоговом окне.
PrintDialog Определяет принтер, страницы на печать и другие параметры печати.
PrintDocument
Задает свойства, описывающие материал на печать, и печатает документ в
приложениях Windows.
PrintPreviewControl
Служит для создания собственного компонента или диалогового окна
PrintPreview взамен стандартного.
PrintPreviewDialog Отображает документ в том виде, как он будет выглядеть при печати.
SaveFileDialog Определяет сохраняемые файлы и их расположение.
http://www.slideshare.net/IgorShkulipa 23
Основные элементы управления
MainMenu Выводит меню во время выполнения.
MenuStrip Выводит меню во время выполнения.
ContextMenu
Предоставляет пользователю удобное меню часто используемых команд,
применимых к выделенному объекту.
ContextMenuStrip
Предоставляет пользователю удобное меню часто используемых команд,
применимых к выделенному объекту.
Button
Описание стандартной кнопки, нажимаемой пользователем для выполнения
каких-либо действий.
LinkLabel Позволяет добавлять веб-ссылки в приложения форм Windows Forms.
NotifyIcon
Отображает значки для процессов, которые выполняются в фоновом режиме и
не имеют иных пользовательских интерфейсов.
ToolBar Отображает меню и кнопок с точечными рисунками для выполнения команд.
ToolStrip
Позволяет создавать пользовательские панели инструментов и меню в
приложениях Windows Forms.
Panel
Предоставляет возможность группировки других элементов по смыслу и их
прокрутки.
GroupBox Предоставляет возможность группировки других элементов по смыслу.
TabControl Отображает вкладки, содержащие рисунки и другие элементы управления.
DataGrid
Отображает данные из набора данных в виде таблицы, позволяет обновлять
источник данных.
DataGridView
Предоставляет пользовательский интерфейс для наборов данных ADO.NET,
отображение табличных данных, поддержка обновлений источника данных.
http://www.slideshare.net/IgorShkulipa 24
Основные элементы управления
HScrollBar
Предоставляет возможность перемещения по списку элементов или в тексте
большого объема с помощью горизонтальной прокрутки окна приложения
или элемента управления.
VScrollBar
Предоставляет возможность перемещения по списку элементов или в тексте
большого объема с помощью вертикальной прокрутки окна приложения или
элемента управления.
ErrorProvider Отображает сведения об ошибке для пользователя в фоновом режиме.
HelpProvider Связывает справочный HTML-файл с приложением Windows.
WebBrowser
Содержит веб-страницы и обеспечивает приложению возможности просмотра
веб-узлов в Интернете.
BackgroundWorker
Позволяет выполнять длительные операции в фоновом режиме в потоке,
отличном от основного потока пользовательского интерфейса приложения.
ProgressBar Графическое отображение процесса выполнения действия.
ToolStripProgressBar Графическое отображение процесса выполнения действия.
SplitContainer
Позволяет пользователю изменять размер закрепленного элемента
управления.
Timer Вызывает событие через определенные интервалы.
ToolTip
Отображение текста при наведении указателя мыши на другие элементы
управления.
http://www.slideshare.net/IgorShkulipa 25
Свойства System.Windows.Forms.Control
AccessibilityObject Получает объект AccessibleObject, назначенный элементу управления.
AccessibleDefaultActionD
escription
Получает или задает описание действия по умолчанию элемента управления
для использования клиентскими приложениями специальных возможностей.
AccessibleDescription
Возвращает или задает описание элемента управления, используемого
клиентскими приложениями со специальными возможностями.
AccessibleName
Возвращает или задает имя элемента управления, используемого клиентскими
приложениями со специальными возможностями.
AccessibleRole
Возвращает или задает роль элемента управления в поддержке специальных
возможностей.
AllowDrop
Возвращает или задает значение, указывающее, может ли элемент управления
принимать данные, перетаскиваемые в него пользователем.
Anchor
Возвращает или задает границы контейнера, с которым связан элемент
управления, и определяет способ изменения размеров элемента управления
при изменении размеров его родительского элемента.
AutoScrollOffset
Возвращает или задает местоположение, в котором выполняется прокрутка
этого элемента управления в ScrollControlIntoView.
AutoSize Инфраструктура. Данное свойство не относится к этому классу.
BackColor Получает или задает цвет фона для элемента управления.
BackgroundImage
Возвращает или задает фоновое изображение, выводимое на элементе
управления.
BackgroundImageLayout
Получает или задает макет фонового изображения в соответствии с
перечислением ImageLayout.
BindingContext Возвращает или задает объект BindingContext для элемента управления.
Bottom
Получает расстояние (в пикселях) между нижней границей элемента
управления и верхней границей клиентской области контейнера.
Bounds
Возвращает или задает размер и местоположение (в пикселях) элемента
управления, включая его неклиентские элементы, относительно его
родительского элемента управления.
http://www.slideshare.net/IgorShkulipa 26
Свойства System.Windows.Forms.Control
CanEnableIme
Получает значение, указывающее, можно ли для свойства ImeMode установить
активное значение с целью включения поддержки IME.
CanFocus
Получает значение, показывающее, может ли элемент управления получать
фокус.
CanRaiseEvents
Определяет, могут ли вызываться события в элементе управления.
(Переопределяет Component.CanRaiseEvents.)
CanSelect Получает значение, показывающее, доступен ли элемент управления для выбора.
Capture
Возвращает или задает значение, определяющее, была ли мышь захвачена
элементом управления.
CausesValidation
Возвращает или задает значение, показывающее, вызывает ли элемент
управления выполнение проверки.
CheckForIllegalCros
sThreadCalls
Возвращает или задает значение, показывающее, нужно ли перехватывать
вызовы в ошибочном потоке, который осуществляет доступ к свойству Handle
элемента управления во время отладки.
ClientRectangle
Получает прямоугольник, представляющий клиентскую область элемента
управления.
ClientSize
Возвращает или задает высоту и ширину клиентской области элемента
управления.
CompanyName
Получает название организации или имя создателя приложения, содержащего
элемент управления.
Container
Возвращает контейнер IContainer, содержащий компонент Component.
(Унаследовано от Component.)
ContainsFocus
Получает значение, указывающее, имеет ли элемент управления или один из его
дочерних элементов фокус ввода в данный момент.
ContextMenu
Возвращает или задает контекстное меню, сопоставленное с элементом
управления.
ContextMenuStrip
Возвращает или задает объект ContextMenuStrip, сопоставленный с этим
элементом управления.
http://www.slideshare.net/IgorShkulipa 27
Свойства System.Windows.Forms.Control
Controls
Получает коллекцию элементов управления, содержащихся в элементе
управления.
Created Получает значение, показывающее, был ли создан элемент управления.
CreateParams
Получает параметры, необходимые для создания дескриптора элемента
управления.
Cursor
Возвращает или задает курсор, отображаемый, когда указатель мыши
находится на элементе управления.
DataBindings Получает привязки данных для этого элемента управления.
DefaultBackColor Получает используемый по умолчанию цвет фона элемента управления.
DefaultCursor Получает или задает курсор по умолчанию для элемента управления.
DefaultFont Получает шрифт элемента управления, используемый по умолчанию.
DefaultForeColor
Получает основной цвет элемента управления, используемый по
умолчанию.
DefaultImeMode
Возвращает стандартный режим редактора методов ввода, поддерживаемый
данным элементом управления.
DefaultMargin
Получает размер пустого пространства (в пикселях), по умолчанию
оставляемого между элементами управления.
DefaultMaximumSize
Получает длину и высоту (в пикселях), которые были указаны в качестве
максимального размера элемента управления по умолчанию.
DefaultMinimumSize
Получает длину и высоту (в пикселях), которые были указаны в качестве
минимального размера элемента управления по умолчанию.
DefaultPadding
Получает внутренние промежутки в содержимом элемента управления в
пикселях.
DefaultSize Получает размер элемента управления по умолчанию.
DesignMode
Возвращает значение, указывающее, находится ли данный компонент
Component в режиме конструктора в настоящее время. (Унаследовано от
Component.)
http://www.slideshare.net/IgorShkulipa 28
DisplayRectangle
Получает прямоугольник, представляющий отображаемую область элемента
управления.
Disposing
Получает значение, указывающее, находится ли базовый класс Control в
процессе удаления.
Dock
Возвращает или задает границы элемента управления, прикрепленные к его
родительскому элементу управления, и определяет способ изменения размеров
элемента управления с его родительским элементом управления.
DoubleBuffered
Возвращает или задает значение, указывающее, должна ли поверхность этого
элемента управления перерисовываться с помощью дополнительного буфера,
чтобы уменьшить или предотвратить мерцание.
Enabled
Возвращает или задает значение, показывающее, сможет ли элемент
управления отвечать на действия пользователя.
Events
Возвращает список обработчиков событий, которые прикреплены к этому
объекту Component. (Унаследовано от Component.)
Focused
Получает значение, показывающее, имеется ли в элементе управления фокус
ввода.
Font Возвращает или задает шрифт текста, отображаемого элементом управления.
FontHeight Возвращает или задает высоту шрифта элемента управления.
ForeColor Получает или задает основной цвет элемента управления.
Handle Получает дескриптор окна, с которым связан элемент управления.
HasChildren
Получает значение, определяющее, содержит ли элемент управления один или
несколько дочерних элементов.
Height Возвращает или задает высоту элемента управления.
ImeMode Возвращает или задает режим редактора метода ввода элемента управления.
ImeModeBase Получает или задает режим IME элемента управления.
Свойства System.Windows.Forms.Control
http://www.slideshare.net/IgorShkulipa 29
Свойства System.Windows.Forms.Control
InvokeRequired
Получает значение, показывающее, следует ли вызывающему оператору
обращаться к методу invoke во время вызовов метода из элемента
управления, так как вызывающий оператор находится не в том потоке, в
котором был создан элемент управления.
IsAccessible
Возвращает или задает значение, показывающее, является ли элемент
управления видимым для приложений со специальными возможностями.
IsDisposed Получает значение, показывающее, был ли удален элемент управления.
IsHandleCreated
Получает значение, показывающее, имеется ли у элемента управления
сопоставленный с ним дескриптор.
IsMirrored
Получает значение, показывающее, отображается ли зеркально элемент
управления.
LayoutEngine
Получает кэшированный экземпляр механизма размещения элемента
управления.
Left
Возвращает или задает расстояние (в пикселях) между левой границей
элемента управления и левой границей клиентской области его контейнера.
Location
Получает или задает координаты левого верхнего угла элемента управления
относительно левого верхнего угла контейнера.
Margin Получает или задает расстояние между элементами управления.
MaximumSize
Возвращает или задает размер, являющийся верхней границей, которую
может указать метод GetPreferredSize.
MinimumSize
Возвращает или задает размер, являющийся нижней границей, которую
может указать метод GetPreferredSize.
ModifierKeys
Получает значение, указывающее, какая из клавиш-модификаторов (SHIFT,
CTRL и ALT) находится в нажатом состоянии.
MouseButtons
Получает значение, указывающее, какая из кнопок мыши находится в
нажатом состоянии.
MousePosition Получает позицию указателя мыши в экранных координатах.
http://www.slideshare.net/IgorShkulipa 30
Свойства System.Windows.Forms.Control
Name Возвращает или задает имя элемента управления.
Padding Возвращает или задает заполнение в элементе управления.
Parent Возвращает или задает родительский контейнер элемента управления.
PreferredSize
Получает размер прямоугольной области, в которую может поместиться
элемент управления.
ProductName Получает имя продукта сборки, содержащей элемент управления.
ProductVersion Получает версию сборки, содержащую элемент управления.
PropagatingImeMode Получает объект, представляющий режим IME распространения.
RecreatingHandle
Получает значение, показывающее, осуществляется ли в данный момент
повторное создание дескриптора элементом управления.
Region
Возвращает или задает область окна, сопоставленную с элементом
управления.
RenderRightToLeft Устаревший. Это свойство устарело.
ResizeRedraw
Возвращает или задает значение, указывающее, перерисовывается ли
элемент управления при изменении размеров.
Right
Получает расстояние (в пикселях) между правой границей элемента
управления и левой границей клиентской области его контейнера.
RightToLeft
Получает или задает значение, показывающее, выровнены ли компоненты
элемента управления для поддержки языков, использующих шрифты с
написанием справа налево.
ScaleChildren
Получает значение, определяющее масштабирование дочерних элементов
управления.
ShowFocusCues
Получает значение, показывающее, должен ли элемент управления
отображать прямоугольники фокуса.
ShowKeyboardCues
Получает значение, указывающее, имеет ли пользовательский интерфейс
соответствующее состояние, при котором отображаются или скрываются
сочетания клавиш.
http://www.slideshare.net/IgorShkulipa 31
Свойства System.Windows.Forms.Control
Site
Возвращает или задает подложку элемента управления. (Переопределяет
Component.Site.)
Size Возвращает или задает высоту и ширину элемента управления.
TabIndex
Возвращает или задает последовательность перехода элемента управления
внутри контейнера.
TabStop
Получает или задает значение, показывающее, может ли пользователь
перевести фокус в данный элемент управления при помощи клавиши TAB.
Tag Получает или задает объект, содержащий данные элемента управления.
Text Получает или задает текст, сопоставленный с этим элементом управления.
Top
Возвращает или задает расстояние (в пикселях) между верхней границей
элемента управления и верхней границей клиентской области его контейнера.
TopLevelControl
Получает родительский элемент управления, не имеющий другого родительского
элемента управления Windows Forms. Как правило, им является внешний объект
Form, в котором содержится элемент управления.
UseWaitCursor
Возвращает или задает значение, указывающее, следует ли использовать
курсор ожидания для текущего элемента управления и всех дочерних элементов
управления.
Visible
Получает или задает значение, указывающее, отображаются ли элемент
управления и все его дочерние элементы управления.
Width Возвращает или задает ширину элемента управления.
WindowTarget Инфраструктура. Данное свойство не относится к этому классу.
http://www.slideshare.net/IgorShkulipa 32
Создание пользовательских элементов управления
http://www.slideshare.net/IgorShkulipa 33
Создание пользовательских элементов управления
http://www.slideshare.net/IgorShkulipa 34
Создание пользовательских элементов управления
http://www.slideshare.net/IgorShkulipa 35
Лабороторная работа №8. Windows Forms
Создать приложение для синхронизации файлов в разных директориях
(например, директория на жестком диске и на флеш-накопителе).
Реализовать функции (с одной и другой стороны):
• Файл изменен
• Файл удален
• Файл создан
Интерфейс приложения создать на основе архитектурного шаблона MVP с
использованием Windows Forms.

More Related Content

What's hot

Диаграмма развертывания
Диаграмма развертыванияДиаграмма развертывания
Диаграмма развертыванияDEVTYPE
 
раздел 5 субд Access
раздел 5  субд Accessраздел 5  субд Access
раздел 5 субд Accesstatianabtt
 
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...DEVTYPE
 
Диаграмма компонентов
Диаграмма компонентовДиаграмма компонентов
Диаграмма компонентовDEVTYPE
 
учебная презентация
учебная презентацияучебная презентация
учебная презентацияDarsa Semenova
 
Интерфейс языка программирования Visual Basic
Интерфейс языка программирования Visual BasicИнтерфейс языка программирования Visual Basic
Интерфейс языка программирования Visual Basicanastastish
 
создание живых сайтов
создание живых сайтовсоздание живых сайтов
создание живых сайтовmetaform
 
создание приложений windows forms
создание приложений windows formsсоздание приложений windows forms
создание приложений windows formsmcroitor
 

What's hot (14)

лек11 2
лек11 2лек11 2
лек11 2
 
Диаграмма развертывания
Диаграмма развертыванияДиаграмма развертывания
Диаграмма развертывания
 
раздел 5 субд Access
раздел 5  субд Accessраздел 5  субд Access
раздел 5 субд Access
 
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
Базовые принципы и понятия технологии разработки объектно-ориентированных инф...
 
Диаграмма компонентов
Диаграмма компонентовДиаграмма компонентов
Диаграмма компонентов
 
1zapuskprogrammyi
 1zapuskprogrammyi 1zapuskprogrammyi
1zapuskprogrammyi
 
учебная презентация
учебная презентацияучебная презентация
учебная презентация
 
Lecture 11 1
Lecture 11 1Lecture 11 1
Lecture 11 1
 
Lecture 11 1
Lecture 11 1Lecture 11 1
Lecture 11 1
 
Интерфейс языка программирования Visual Basic
Интерфейс языка программирования Visual BasicИнтерфейс языка программирования Visual Basic
Интерфейс языка программирования Visual Basic
 
создание живых сайтов
создание живых сайтовсоздание живых сайтов
создание живых сайтов
 
создание приложений windows forms
создание приложений windows formsсоздание приложений windows forms
создание приложений windows forms
 
Lecture 11 2
Lecture 11 2Lecture 11 2
Lecture 11 2
 
создание форм
создание формсоздание форм
создание форм
 

Viewers also liked

C# Web. Занятие 10.
C# Web. Занятие 10.C# Web. Занятие 10.
C# Web. Занятие 10.Igor Shkulipa
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.Igor Shkulipa
 
Vijay Bhosekar_ PP_Rodale Institute_Feb 9
Vijay Bhosekar_ PP_Rodale Institute_Feb 9Vijay Bhosekar_ PP_Rodale Institute_Feb 9
Vijay Bhosekar_ PP_Rodale Institute_Feb 9vijay bhosekar
 
Advanced LinkedIn Techniques
Advanced LinkedIn TechniquesAdvanced LinkedIn Techniques
Advanced LinkedIn TechniquesJames Weber
 
Enhancing Energy Efficiency in Cloud Management through Code Annotations and ...
Enhancing Energy Efficiency in Cloud Management through Code Annotations and ...Enhancing Energy Efficiency in Cloud Management through Code Annotations and ...
Enhancing Energy Efficiency in Cloud Management through Code Annotations and ...Luigi Sambolino
 
Production diary 15
Production diary 15Production diary 15
Production diary 15Laila Jaleel
 
Production diary 20
Production diary 20Production diary 20
Production diary 20Laila Jaleel
 
C++ Базовый. Занятие 11.
C++ Базовый. Занятие 11.C++ Базовый. Занятие 11.
C++ Базовый. Занятие 11.Igor Shkulipa
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled PresentationKamilla Paiva
 
Vijay Bhosekar_ Research Article_ Frontiers in Plant Science
Vijay Bhosekar_ Research Article_ Frontiers in Plant ScienceVijay Bhosekar_ Research Article_ Frontiers in Plant Science
Vijay Bhosekar_ Research Article_ Frontiers in Plant Sciencevijay bhosekar
 
Challenge Passport-sm
Challenge Passport-smChallenge Passport-sm
Challenge Passport-smLewis Pitzer
 
Production diary 2
Production diary 2Production diary 2
Production diary 2Laila Jaleel
 

Viewers also liked (20)

C# Web. Занятие 10.
C# Web. Занятие 10.C# Web. Занятие 10.
C# Web. Занятие 10.
 
JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.JavaScript Базовый. Занятие 09.
JavaScript Базовый. Занятие 09.
 
BIG BEN
BIG BENBIG BEN
BIG BEN
 
Vijay Bhosekar_ PP_Rodale Institute_Feb 9
Vijay Bhosekar_ PP_Rodale Institute_Feb 9Vijay Bhosekar_ PP_Rodale Institute_Feb 9
Vijay Bhosekar_ PP_Rodale Institute_Feb 9
 
Advanced LinkedIn Techniques
Advanced LinkedIn TechniquesAdvanced LinkedIn Techniques
Advanced LinkedIn Techniques
 
Enhancing Energy Efficiency in Cloud Management through Code Annotations and ...
Enhancing Energy Efficiency in Cloud Management through Code Annotations and ...Enhancing Energy Efficiency in Cloud Management through Code Annotations and ...
Enhancing Energy Efficiency in Cloud Management through Code Annotations and ...
 
Truly Verona
Truly VeronaTruly Verona
Truly Verona
 
Print Brochure 3NM v6
Print Brochure 3NM v6Print Brochure 3NM v6
Print Brochure 3NM v6
 
Production diary 15
Production diary 15Production diary 15
Production diary 15
 
What is Lean UX?
What is Lean UX?What is Lean UX?
What is Lean UX?
 
Production diary 20
Production diary 20Production diary 20
Production diary 20
 
Apokries2015
Apokries2015Apokries2015
Apokries2015
 
HG
HGHG
HG
 
10 Reasons to Trademark Your Business
10 Reasons to Trademark Your Business10 Reasons to Trademark Your Business
10 Reasons to Trademark Your Business
 
C++ Базовый. Занятие 11.
C++ Базовый. Занятие 11.C++ Базовый. Занятие 11.
C++ Базовый. Занятие 11.
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
Vijay Bhosekar_ Research Article_ Frontiers in Plant Science
Vijay Bhosekar_ Research Article_ Frontiers in Plant ScienceVijay Bhosekar_ Research Article_ Frontiers in Plant Science
Vijay Bhosekar_ Research Article_ Frontiers in Plant Science
 
Challenge Passport-sm
Challenge Passport-smChallenge Passport-sm
Challenge Passport-sm
 
Emergency Assistance
Emergency AssistanceEmergency Assistance
Emergency Assistance
 
Production diary 2
Production diary 2Production diary 2
Production diary 2
 

Similar to C# Desktop. Занятие 08.

Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPmikhailshurgulaya
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoftKewpaN
 
Создание графического интерфейса пользователя мобильных Android приложений (ч...
Создание графического интерфейса пользователя мобильных Android приложений (ч...Создание графического интерфейса пользователя мобильных Android приложений (ч...
Создание графического интерфейса пользователя мобильных Android приложений (ч...metaform
 
Шаблоны проектирования в Magento
Шаблоны проектирования в MagentoШаблоны проектирования в Magento
Шаблоны проектирования в MagentoPavel Usachev
 
Java осень 2012 лекция 9
Java осень 2012 лекция 9Java осень 2012 лекция 9
Java осень 2012 лекция 9Technopark
 
Enterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianEnterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianSergiy Shychynov
 
5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователя5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователяKewpaN
 
Docsvision 5. Панель инструментов для Microsoft Office
Docsvision 5. Панель инструментов для Microsoft OfficeDocsvision 5. Панель инструментов для Microsoft Office
Docsvision 5. Панель инструментов для Microsoft OfficeDocsvision
 
C# Web. Занятие 09.
C# Web. Занятие 09.C# Web. Занятие 09.
C# Web. Занятие 09.Igor Shkulipa
 
C# Web. Занятие 05.
C# Web. Занятие 05.C# Web. Занятие 05.
C# Web. Занятие 05.Igor Shkulipa
 
C# Web. Занятие 06.
C# Web. Занятие 06.C# Web. Занятие 06.
C# Web. Занятие 06.Igor Shkulipa
 
компоненты E learn для Plone
компоненты E learn для Ploneкомпоненты E learn для Plone
компоненты E learn для PloneSergey Greger
 
Joomla (Админка) www.hotwebstudio.ru
Joomla (Админка) www.hotwebstudio.ruJoomla (Админка) www.hotwebstudio.ru
Joomla (Админка) www.hotwebstudio.ruhotwebstudio.ru
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftAnton Loginov
 
[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)Evgeny Kaziak
 
Расчётная работа мапо
Расчётная работа мапоРасчётная работа мапо
Расчётная работа мапоVyacheslav Vityk
 
архитектура приложений mfc
архитектура приложений mfcархитектура приложений mfc
архитектура приложений mfcmcroitor
 

Similar to C# Desktop. Занятие 08. (20)

Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAP
 
10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft
 
Создание графического интерфейса пользователя мобильных Android приложений (ч...
Создание графического интерфейса пользователя мобильных Android приложений (ч...Создание графического интерфейса пользователя мобильных Android приложений (ч...
Создание графического интерфейса пользователя мобильных Android приложений (ч...
 
Шаблоны проектирования в Magento
Шаблоны проектирования в MagentoШаблоны проектирования в Magento
Шаблоны проектирования в Magento
 
Java осень 2012 лекция 9
Java осень 2012 лекция 9Java осень 2012 лекция 9
Java осень 2012 лекция 9
 
Enterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianEnterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russian
 
A2
A2A2
A2
 
5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователя5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователя
 
Docsvision 5. Панель инструментов для Microsoft Office
Docsvision 5. Панель инструментов для Microsoft OfficeDocsvision 5. Панель инструментов для Microsoft Office
Docsvision 5. Панель инструментов для Microsoft Office
 
C# Web. Занятие 09.
C# Web. Занятие 09.C# Web. Занятие 09.
C# Web. Занятие 09.
 
C# Web. Занятие 05.
C# Web. Занятие 05.C# Web. Занятие 05.
C# Web. Занятие 05.
 
C# Web. Занятие 06.
C# Web. Занятие 06.C# Web. Занятие 06.
C# Web. Занятие 06.
 
компоненты E learn для Plone
компоненты E learn для Ploneкомпоненты E learn для Plone
компоненты E learn для Plone
 
Joomla (Админка) www.hotwebstudio.ru
Joomla (Админка) www.hotwebstudio.ruJoomla (Админка) www.hotwebstudio.ru
Joomla (Админка) www.hotwebstudio.ru
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на Swift
 
B pwin&ramus
B pwin&ramusB pwin&ramus
B pwin&ramus
 
[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)[JAM 1.1] Symfony (Alexei Yanochkin)
[JAM 1.1] Symfony (Alexei Yanochkin)
 
Расчётная работа мапо
Расчётная работа мапоРасчётная работа мапо
Расчётная работа мапо
 
Panel control
Panel controlPanel control
Panel control
 
архитектура приложений mfc
архитектура приложений mfcархитектура приложений mfc
архитектура приложений mfc
 

More from Igor Shkulipa

Общие темы. Тема 03.
Общие темы. Тема 03. Общие темы. Тема 03.
Общие темы. Тема 03. Igor Shkulipa
 
Общие темы. Тема 02.
Общие темы. Тема 02.Общие темы. Тема 02.
Общие темы. Тема 02.Igor Shkulipa
 
Общие темы. Тема 01.
Общие темы. Тема 01.Общие темы. Тема 01.
Общие темы. Тема 01.Igor Shkulipa
 
JavaScript Базовый. Занятие 06.
JavaScript Базовый. Занятие 06.JavaScript Базовый. Занятие 06.
JavaScript Базовый. Занятие 06.Igor Shkulipa
 
JavaScript Базовый. Занятие 11.
JavaScript Базовый. Занятие 11.JavaScript Базовый. Занятие 11.
JavaScript Базовый. Занятие 11.Igor Shkulipa
 
JavaScript Базовый. Занятие 10.
JavaScript Базовый. Занятие 10.JavaScript Базовый. Занятие 10.
JavaScript Базовый. Занятие 10.Igor Shkulipa
 
JavaScript Базовый. Занятие 05.
JavaScript Базовый. Занятие 05.JavaScript Базовый. Занятие 05.
JavaScript Базовый. Занятие 05.Igor Shkulipa
 
JavaScript Базовый. Занятие 08.
JavaScript Базовый. Занятие 08.JavaScript Базовый. Занятие 08.
JavaScript Базовый. Занятие 08.Igor Shkulipa
 
JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.Igor Shkulipa
 
JavaScript Базовый. Занятие 01.
JavaScript Базовый. Занятие 01.JavaScript Базовый. Занятие 01.
JavaScript Базовый. Занятие 01.Igor Shkulipa
 
JavaScript Базовый. Занятие 04.
JavaScript Базовый. Занятие 04.JavaScript Базовый. Занятие 04.
JavaScript Базовый. Занятие 04.Igor Shkulipa
 
JavaScript Базовый. Занятие 03.
JavaScript Базовый. Занятие 03.JavaScript Базовый. Занятие 03.
JavaScript Базовый. Занятие 03.Igor Shkulipa
 
JavaScript Базовый. Занятие 02.
JavaScript Базовый. Занятие 02.JavaScript Базовый. Занятие 02.
JavaScript Базовый. Занятие 02.Igor Shkulipa
 
C# Web. Занятие 08.
C# Web. Занятие 08.C# Web. Занятие 08.
C# Web. Занятие 08.Igor Shkulipa
 
C# Web. Занятие 07.
C# Web. Занятие 07.C# Web. Занятие 07.
C# Web. Занятие 07.Igor Shkulipa
 
C# Web. Занятие 04.
C# Web. Занятие 04.C# Web. Занятие 04.
C# Web. Занятие 04.Igor Shkulipa
 
C# Web. Занятие 12.
C# Web. Занятие 12.C# Web. Занятие 12.
C# Web. Занятие 12.Igor Shkulipa
 
C# Web. Занятие 16.
C# Web. Занятие 16.C# Web. Занятие 16.
C# Web. Занятие 16.Igor Shkulipa
 
C# Web. Занятие 14.
C# Web. Занятие 14.C# Web. Занятие 14.
C# Web. Занятие 14.Igor Shkulipa
 
C# Web. Занятие 15.
C# Web. Занятие 15.C# Web. Занятие 15.
C# Web. Занятие 15.Igor Shkulipa
 

More from Igor Shkulipa (20)

Общие темы. Тема 03.
Общие темы. Тема 03. Общие темы. Тема 03.
Общие темы. Тема 03.
 
Общие темы. Тема 02.
Общие темы. Тема 02.Общие темы. Тема 02.
Общие темы. Тема 02.
 
Общие темы. Тема 01.
Общие темы. Тема 01.Общие темы. Тема 01.
Общие темы. Тема 01.
 
JavaScript Базовый. Занятие 06.
JavaScript Базовый. Занятие 06.JavaScript Базовый. Занятие 06.
JavaScript Базовый. Занятие 06.
 
JavaScript Базовый. Занятие 11.
JavaScript Базовый. Занятие 11.JavaScript Базовый. Занятие 11.
JavaScript Базовый. Занятие 11.
 
JavaScript Базовый. Занятие 10.
JavaScript Базовый. Занятие 10.JavaScript Базовый. Занятие 10.
JavaScript Базовый. Занятие 10.
 
JavaScript Базовый. Занятие 05.
JavaScript Базовый. Занятие 05.JavaScript Базовый. Занятие 05.
JavaScript Базовый. Занятие 05.
 
JavaScript Базовый. Занятие 08.
JavaScript Базовый. Занятие 08.JavaScript Базовый. Занятие 08.
JavaScript Базовый. Занятие 08.
 
JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.
 
JavaScript Базовый. Занятие 01.
JavaScript Базовый. Занятие 01.JavaScript Базовый. Занятие 01.
JavaScript Базовый. Занятие 01.
 
JavaScript Базовый. Занятие 04.
JavaScript Базовый. Занятие 04.JavaScript Базовый. Занятие 04.
JavaScript Базовый. Занятие 04.
 
JavaScript Базовый. Занятие 03.
JavaScript Базовый. Занятие 03.JavaScript Базовый. Занятие 03.
JavaScript Базовый. Занятие 03.
 
JavaScript Базовый. Занятие 02.
JavaScript Базовый. Занятие 02.JavaScript Базовый. Занятие 02.
JavaScript Базовый. Занятие 02.
 
C# Web. Занятие 08.
C# Web. Занятие 08.C# Web. Занятие 08.
C# Web. Занятие 08.
 
C# Web. Занятие 07.
C# Web. Занятие 07.C# Web. Занятие 07.
C# Web. Занятие 07.
 
C# Web. Занятие 04.
C# Web. Занятие 04.C# Web. Занятие 04.
C# Web. Занятие 04.
 
C# Web. Занятие 12.
C# Web. Занятие 12.C# Web. Занятие 12.
C# Web. Занятие 12.
 
C# Web. Занятие 16.
C# Web. Занятие 16.C# Web. Занятие 16.
C# Web. Занятие 16.
 
C# Web. Занятие 14.
C# Web. Занятие 14.C# Web. Занятие 14.
C# Web. Занятие 14.
 
C# Web. Занятие 15.
C# Web. Занятие 15.C# Web. Занятие 15.
C# Web. Занятие 15.
 

C# Desktop. Занятие 08.

  • 1. Темы лекции: Windows Forms. Практическое задание: Приложение Windows Forms. Тренер: Игорь Шкулипа, к.т.н. Платформа .Net и язык программирования C#. Занятие 8
  • 2. http://www.slideshare.net/IgorShkulipa 2 MVC Шаблон проектирования MVC разделяет работу веб-приложения на три отдельные функциональные роли: • модель данных (model) • пользовательский интерфейс (view) • управляющую логику (controller) Таким образом, изменения, вносимые в один из компонентов, оказывают минимально возможное воздействие на другие компоненты.
  • 3. http://www.slideshare.net/IgorShkulipa 3 MVP • Модель (model) представляет собой интерфейс, определяющий данные для отображения или участвующие в пользовательском интерфейсе иным образом • Вид (view) - это интерфейс, который отображает данные (модель) и маршрутизирует пользовательские команды (или события) Presenter-у, чтобы тот действовал над этими данными. • Presenter действует над моделью и видом. Он извлекает данные из хранилища (модели), и форматирует их для отображения в Виде (view). Так же реализует обработку событий вида.
  • 5. http://www.slideshare.net/IgorShkulipa 5 Windows Forms Windows Forms является технологией интеллектуальных клиентов для .NET Framework; это набор управляемых библиотек, обеспечивающих распространенные задачи приложений, например чтение и запись в файловую систему. С помощью среды разработки типа Visual Studio можно создавать приложения Windows Forms, которые отображают информацию, запрашивают ввод от пользователей и обмениваются данными с удаленными компьютерами по сети. Интеллектуальный клиент — это приложение с богатым графическим интерфейсом, простое в развертывании и обновлении, способное работать при наличии или отсутствии подключения к Интернету и использующее более безопасный доступ к ресурсам на локальном компьютере по сравнению с традиционными приложениями Windows. В Windows Forms форма является видимой поверхностью, на которой отображается информация для пользователя. Обычно приложение Windows Forms строится путем помещения элементов управления на форму и написанием кода для реагирования на действия пользователя, такие как щелчки мыши или нажатия клавиш. Элемент управления — это отдельный элемент пользовательского интерфейса, предназначенный для отображения или ввода данных.
  • 6. http://www.slideshare.net/IgorShkulipa 6 Упрощенная иерархия классов Среди классов Windows Forms есть обширный набор классов для создания сложных графических пользовательских интерфейсов. Эти классы можно использовать в приложениях, написанных на любом языке .NET Как правило, приложение Windows Forms будет содержит главное окно, которое реализовано с помощью некоторого класса MyForm, производного от класса Form (Форма). На рисунке изображена иерархия классов Windows Forms
  • 7. http://www.slideshare.net/IgorShkulipa 7 Класс Control Класс Control определяет базовый класс для элементов управления, являющихся компонентами с визуальным представлением. [ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] [ComVisibleAttribute(true)] public class Control : Component, IDropTarget, ISynchronizeInvoke, IWin32Window, IBindableComponent, IComponent, Idisposable Чтобы создать собственный класс элементов управления, осуществите наследование из классов UserControl, Control или из других элементов управления, предоставляемых в Windows Forms. Дополнительные сведения о самостоятельно разработанных пользовательских элементах управления см. в разделе Разработка пользовательских элементов управления Windows Forms в .NET Framework. Класс Control реализует основные функциональные возможности, необходимые для классов, отображающих сведения для пользователя. Он обрабатывает входные данные, полученные с клавиатуры и указывающих устройств. Он также обрабатывает операции, связанные с маршрутизацией сообщений и безопасностью. Он определяет границы элемента управления (позицию и размер), хотя и не реализует рисование.
  • 8. http://www.slideshare.net/IgorShkulipa 8 Класс Application Предоставляет статичные методы и свойства для управления приложением, например методы для запуска и остановки приложения, для обработки сообщений Windows и свойства для получения сведений о приложении. Этот класс не наследуется. public sealed class Application Класс Application содержит методы для запуска и остановки приложений и потоков, а также для обработки сообщений Windows: • Run запускает цикл обработки сообщений приложения в текущем потоке и при необходимости делает форму видимой. • Exit или ExitThread останавливает цикл обработки сообщений. • DoEvents обрабатывает сообщения пока программа в цикле. • AddMessageFilter добавляет фильтр обработки сообщений. • IMessageFilter позволяет предотвратить инициацию события и выполнять особые операции до вызова обработчика событий. • Этот класс содержит CurrentCulture и CurrentInputLanguage - свойства для получения или задания данных о языке и региональных параметрах для текущего потока.
  • 9. http://www.slideshare.net/IgorShkulipa 9 Свойства класса Application AllowQuit Возвращает значение, указывающее, может ли вызывающий выйти из этого приложения. CommonAppDataPath Получает путь для данных приложения, являющихся общими для всех пользователей. CommonAppDataRegistry Получает раздел реестра для данных приложения, являющихся общими для всех пользователей. CompanyName Возвращает название компании, связанное с приложением. CurrentCulture Возвращает или задает сведения о языке и региональных параметрах для текущего потока. CurrentInputLanguage Получает или задает текущий язык ввода для текущего потока. ExecutablePath Возвращает путь исполняемого файла, запустившего приложение, включая имя исполняемого файла. LocalUserAppDataPath Получает путь для данных приложения локального неперемещающегося пользователя. MessageLoop Возвращает значение, указывающее, существует ли цикл обработки сообщений в этом потоке. OpenForms Возвращает коллекцию открытых форм, принадлежащих приложению. ProductName Получает название продукта, связанное с этим приложением. ProductVersion Возвращает версию продукта, связанное с этим приложением. RenderWithVisualStyles Возвращает значение, указывающее, допускает ли текущее приложение элементы управления с помощью визуальных стилей. SafeTopLevelCaptionFormat Возвращает или задает строку форматирования для применения к заголовкам окна верхнего уровня, когда они отображаются с баннером предупреждения. StartupPath Получает путь для исполняемого файла, запустившего приложение, не включая исполняемое имя. UserAppDataPath Получает путь для данных приложения пользователя. UserAppDataRegistry Получает раздел реестра для данных приложения пользователя. UseWaitCursor Возвращает или задает, используется ли курсор ожидания для всех открытых форм приложения. VisualStyleState Возвращает значение, указывающее, как они применяются к окнам приложения.
  • 10. http://www.slideshare.net/IgorShkulipa 10 Пространство имен System.Windows.Forms Пространство имен System.Windows.Forms предоставляет следующие типы классов: • Элементы управления, пользовательские элементы управления и формы. Большинство классов в пространстве имен System.Windows.Forms являются производными от класса Control. Класс Control предоставляет основные функциональные возможности для всех элементов управления, отображаемых на форме. • Меню и панели инструментов. Набор классов, которые позволяют создавать пользовательские панели инструментов и меню, отличающиеся современным обликом и поведением. • Элементы управления. Большое количество классов элементов управления, которые позволяют создавать пользовательские интерфейсы с расширенными возможностями. • Макет. Несколько важных классов в Windows Forms помогают контролировать расположение элементов управления на отображаемой поверхности, например в форме или элементе управления. • Данные и привязка данных. Windows Forms обеспечивает расширенную архитектуру для привязывания к таким источникам данных, как базы данных и XML-файлы. • Компоненты. Помимо элементов управления пространство имен System.Windows.Forms предоставляет другие классы, которые не являются производными от класса Control, но также обеспечивают визуальные функции для приложений Windows. • Общие диалоговые окна. Полный список содержимого System.Windows.Forms можно найти http://msdn.microsoft.com/ru-ru/library/system.windows.forms.aspx
  • 14. http://www.slideshare.net/IgorShkulipa 14 Пример. Windows Forms + MVP Основная форма приложения
  • 15. http://www.slideshare.net/IgorShkulipa 15 Интерфейс IView. namespace WindowsForms { interface IView { string GetUser(); string GetPassword(); void UpdateUsers(List<string> users); void ShowMessage(string message); event EventHandler<EventArgs> UpdateUserList; event EventHandler<EventArgs> TryLogin; } }
  • 16. http://www.slideshare.net/IgorShkulipa 16 Модель namespace WindowsForms { class Model { public Dictionary<string, string> UsersAndPasswords { get; set; } public List<string> Users { get { return UsersAndPasswords.Keys.ToList<string>(); } } public Model() { UsersAndPasswords = new Dictionary<string, string>(); UsersAndPasswords.Add("User1", "Password1"); UsersAndPasswords.Add("User2", "Password2"); UsersAndPasswords.Add("User3", "Password3"); UsersAndPasswords.Add("User4", "Password4"); UsersAndPasswords.Add("User5", "Password5"); } public string TryToLogin(string user, string password) { if (UsersAndPasswords.ContainsKey(user)) { int index=UsersAndPasswords.Keys.ToList<string>().IndexOf(user); if (UsersAndPasswords.Values.ToList<string>()[index].Equals(password)) { return "Login Successful!"; } } return "Login Failed."; } } }
  • 17. http://www.slideshare.net/IgorShkulipa 17 Презентер namespace WindowsForms { class Presenter { private IView view; private Model model; public Presenter(IView newView) { view = newView; model = new Model(); view.UpdateUserList += new EventHandler<EventArgs>(UpdateUsers); view.TryLogin += new EventHandler<EventArgs>(Login); } private void UpdateUsers(object sender, EventArgs e) { view.UpdateUsers(model.Users); } private void Login(object sender, EventArgs e) { string loginResult = model.TryToLogin(view.GetUser(), view.GetPassword()); view.ShowMessage(loginResult); } } }
  • 18. http://www.slideshare.net/IgorShkulipa 18 Класс основной формы namespace WindowsForms { public partial class View : Form, IView { public View() { InitializeComponent(); } string IView.GetUser() { return textBox1.Text; } string IView.GetPassword() { return maskedTextBox1.Text; } void IView.UpdateUsers(List<string> users) { listBox1.Items.Clear(); foreach (var user in users) listBox1.Items.Add(user.ToString()); } public void ShowMessage(string message){ MessageBox.Show(message, "Login Result", MessageBoxButtons.OK); } private void View_Load(object sender, EventArgs e) { UpdateUserList(sender, e); } private void button1_Click(object sender, EventArgs e) { TryLogin(sender, e); } public event EventHandler<EventArgs> UpdateUserList; public event EventHandler<EventArgs> TryLogin; } }
  • 21. http://www.slideshare.net/IgorShkulipa 21 Основные элементы управления TextBox Позволяет пользователю вводить изменяемый текст, состоящий из нескольких строк. ToolStripTextBox Позволяет пользователю вводить изменяемый текст, состоящий из нескольких строк. RichTextBox Служит для ввода и отображения текста с форматированием, а также для выполнения с ним различных действий пользователем. Label Отображает текст, который не может быть изменен пользователем. ToolStripLabel Отображает текст, который не может быть изменен пользователем. LinkLabel Позволяет добавлять веб-ссылки в приложения форм Windows Forms. StatusBar Отображает сведения о состоянии элемента управления, на котором находится фокус. ToolStripStatusLabel Отображение сведений о состоянии элемента управления, на котором находится фокус. CheckedListBox Отображает список элементов, рядом с каждым из которых стоит галочка. ComboBox Отображает данные в раскрывающемся поле со списком. ToolStripComboBox Отображает данные в раскрывающемся поле со списком. DomainUpDown Отображает текстовые строки, которые пользователь может просматривать и выделять. ListBox Отображает список текстовых и графических элементов (значков). ListView Отображает список элементов со значками наподобие проводника Windows. NumericUpDown Отображает числа, которые пользователь может просматривать и выделять. TreeView Отображает иерархию узлов, которые можно разворачивать и сворачивать.
  • 22. http://www.slideshare.net/IgorShkulipa 22 Основные элементы управления PictureBox Отображает рисунки в формате BMP, GIF, JPEG, метафайлов и значков. ImageList Отображает рисунки на других элементах управления. CheckBox Указывает, включено ли какое-либо условие или выключено. CheckedListBox Отображает список элементов, рядом с каждым из которых стоит флажок. RadioButton Предоставление набора как минимум из двух взаимоисключающих вариантов выбора для пользователя. TrackBar Перемещение по тексту большого объема или наглядная настройка числового параметра. DateTimePicker Позволяет пользователю выбрать отдельный элемент в списке дат или времени. MonthCalendar Предоставляет понятный графический интерфейс для просмотра и задания сведений о дате пользователями. ColorDialog Предоставляет стандартное диалоговое окно для выбора цветов из палитры, а также для добавления в нее дополнительных цветов. FolderBrowserDialog Отображает интерфейс, который пользователь может просматривать и в котором он может выбирать существующие папки и создавать новые. FontDialog Предоставляет приложениям шрифты, установленные в системе на текущий момент. OpenFileDialog Позволяет пользователям открывать файлы в стандартном диалоговом окне. PageSetupDialog Задает параметры страницы для печати в стандартном диалоговом окне. PrintDialog Определяет принтер, страницы на печать и другие параметры печати. PrintDocument Задает свойства, описывающие материал на печать, и печатает документ в приложениях Windows. PrintPreviewControl Служит для создания собственного компонента или диалогового окна PrintPreview взамен стандартного. PrintPreviewDialog Отображает документ в том виде, как он будет выглядеть при печати. SaveFileDialog Определяет сохраняемые файлы и их расположение.
  • 23. http://www.slideshare.net/IgorShkulipa 23 Основные элементы управления MainMenu Выводит меню во время выполнения. MenuStrip Выводит меню во время выполнения. ContextMenu Предоставляет пользователю удобное меню часто используемых команд, применимых к выделенному объекту. ContextMenuStrip Предоставляет пользователю удобное меню часто используемых команд, применимых к выделенному объекту. Button Описание стандартной кнопки, нажимаемой пользователем для выполнения каких-либо действий. LinkLabel Позволяет добавлять веб-ссылки в приложения форм Windows Forms. NotifyIcon Отображает значки для процессов, которые выполняются в фоновом режиме и не имеют иных пользовательских интерфейсов. ToolBar Отображает меню и кнопок с точечными рисунками для выполнения команд. ToolStrip Позволяет создавать пользовательские панели инструментов и меню в приложениях Windows Forms. Panel Предоставляет возможность группировки других элементов по смыслу и их прокрутки. GroupBox Предоставляет возможность группировки других элементов по смыслу. TabControl Отображает вкладки, содержащие рисунки и другие элементы управления. DataGrid Отображает данные из набора данных в виде таблицы, позволяет обновлять источник данных. DataGridView Предоставляет пользовательский интерфейс для наборов данных ADO.NET, отображение табличных данных, поддержка обновлений источника данных.
  • 24. http://www.slideshare.net/IgorShkulipa 24 Основные элементы управления HScrollBar Предоставляет возможность перемещения по списку элементов или в тексте большого объема с помощью горизонтальной прокрутки окна приложения или элемента управления. VScrollBar Предоставляет возможность перемещения по списку элементов или в тексте большого объема с помощью вертикальной прокрутки окна приложения или элемента управления. ErrorProvider Отображает сведения об ошибке для пользователя в фоновом режиме. HelpProvider Связывает справочный HTML-файл с приложением Windows. WebBrowser Содержит веб-страницы и обеспечивает приложению возможности просмотра веб-узлов в Интернете. BackgroundWorker Позволяет выполнять длительные операции в фоновом режиме в потоке, отличном от основного потока пользовательского интерфейса приложения. ProgressBar Графическое отображение процесса выполнения действия. ToolStripProgressBar Графическое отображение процесса выполнения действия. SplitContainer Позволяет пользователю изменять размер закрепленного элемента управления. Timer Вызывает событие через определенные интервалы. ToolTip Отображение текста при наведении указателя мыши на другие элементы управления.
  • 25. http://www.slideshare.net/IgorShkulipa 25 Свойства System.Windows.Forms.Control AccessibilityObject Получает объект AccessibleObject, назначенный элементу управления. AccessibleDefaultActionD escription Получает или задает описание действия по умолчанию элемента управления для использования клиентскими приложениями специальных возможностей. AccessibleDescription Возвращает или задает описание элемента управления, используемого клиентскими приложениями со специальными возможностями. AccessibleName Возвращает или задает имя элемента управления, используемого клиентскими приложениями со специальными возможностями. AccessibleRole Возвращает или задает роль элемента управления в поддержке специальных возможностей. AllowDrop Возвращает или задает значение, указывающее, может ли элемент управления принимать данные, перетаскиваемые в него пользователем. Anchor Возвращает или задает границы контейнера, с которым связан элемент управления, и определяет способ изменения размеров элемента управления при изменении размеров его родительского элемента. AutoScrollOffset Возвращает или задает местоположение, в котором выполняется прокрутка этого элемента управления в ScrollControlIntoView. AutoSize Инфраструктура. Данное свойство не относится к этому классу. BackColor Получает или задает цвет фона для элемента управления. BackgroundImage Возвращает или задает фоновое изображение, выводимое на элементе управления. BackgroundImageLayout Получает или задает макет фонового изображения в соответствии с перечислением ImageLayout. BindingContext Возвращает или задает объект BindingContext для элемента управления. Bottom Получает расстояние (в пикселях) между нижней границей элемента управления и верхней границей клиентской области контейнера. Bounds Возвращает или задает размер и местоположение (в пикселях) элемента управления, включая его неклиентские элементы, относительно его родительского элемента управления.
  • 26. http://www.slideshare.net/IgorShkulipa 26 Свойства System.Windows.Forms.Control CanEnableIme Получает значение, указывающее, можно ли для свойства ImeMode установить активное значение с целью включения поддержки IME. CanFocus Получает значение, показывающее, может ли элемент управления получать фокус. CanRaiseEvents Определяет, могут ли вызываться события в элементе управления. (Переопределяет Component.CanRaiseEvents.) CanSelect Получает значение, показывающее, доступен ли элемент управления для выбора. Capture Возвращает или задает значение, определяющее, была ли мышь захвачена элементом управления. CausesValidation Возвращает или задает значение, показывающее, вызывает ли элемент управления выполнение проверки. CheckForIllegalCros sThreadCalls Возвращает или задает значение, показывающее, нужно ли перехватывать вызовы в ошибочном потоке, который осуществляет доступ к свойству Handle элемента управления во время отладки. ClientRectangle Получает прямоугольник, представляющий клиентскую область элемента управления. ClientSize Возвращает или задает высоту и ширину клиентской области элемента управления. CompanyName Получает название организации или имя создателя приложения, содержащего элемент управления. Container Возвращает контейнер IContainer, содержащий компонент Component. (Унаследовано от Component.) ContainsFocus Получает значение, указывающее, имеет ли элемент управления или один из его дочерних элементов фокус ввода в данный момент. ContextMenu Возвращает или задает контекстное меню, сопоставленное с элементом управления. ContextMenuStrip Возвращает или задает объект ContextMenuStrip, сопоставленный с этим элементом управления.
  • 27. http://www.slideshare.net/IgorShkulipa 27 Свойства System.Windows.Forms.Control Controls Получает коллекцию элементов управления, содержащихся в элементе управления. Created Получает значение, показывающее, был ли создан элемент управления. CreateParams Получает параметры, необходимые для создания дескриптора элемента управления. Cursor Возвращает или задает курсор, отображаемый, когда указатель мыши находится на элементе управления. DataBindings Получает привязки данных для этого элемента управления. DefaultBackColor Получает используемый по умолчанию цвет фона элемента управления. DefaultCursor Получает или задает курсор по умолчанию для элемента управления. DefaultFont Получает шрифт элемента управления, используемый по умолчанию. DefaultForeColor Получает основной цвет элемента управления, используемый по умолчанию. DefaultImeMode Возвращает стандартный режим редактора методов ввода, поддерживаемый данным элементом управления. DefaultMargin Получает размер пустого пространства (в пикселях), по умолчанию оставляемого между элементами управления. DefaultMaximumSize Получает длину и высоту (в пикселях), которые были указаны в качестве максимального размера элемента управления по умолчанию. DefaultMinimumSize Получает длину и высоту (в пикселях), которые были указаны в качестве минимального размера элемента управления по умолчанию. DefaultPadding Получает внутренние промежутки в содержимом элемента управления в пикселях. DefaultSize Получает размер элемента управления по умолчанию. DesignMode Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время. (Унаследовано от Component.)
  • 28. http://www.slideshare.net/IgorShkulipa 28 DisplayRectangle Получает прямоугольник, представляющий отображаемую область элемента управления. Disposing Получает значение, указывающее, находится ли базовый класс Control в процессе удаления. Dock Возвращает или задает границы элемента управления, прикрепленные к его родительскому элементу управления, и определяет способ изменения размеров элемента управления с его родительским элементом управления. DoubleBuffered Возвращает или задает значение, указывающее, должна ли поверхность этого элемента управления перерисовываться с помощью дополнительного буфера, чтобы уменьшить или предотвратить мерцание. Enabled Возвращает или задает значение, показывающее, сможет ли элемент управления отвечать на действия пользователя. Events Возвращает список обработчиков событий, которые прикреплены к этому объекту Component. (Унаследовано от Component.) Focused Получает значение, показывающее, имеется ли в элементе управления фокус ввода. Font Возвращает или задает шрифт текста, отображаемого элементом управления. FontHeight Возвращает или задает высоту шрифта элемента управления. ForeColor Получает или задает основной цвет элемента управления. Handle Получает дескриптор окна, с которым связан элемент управления. HasChildren Получает значение, определяющее, содержит ли элемент управления один или несколько дочерних элементов. Height Возвращает или задает высоту элемента управления. ImeMode Возвращает или задает режим редактора метода ввода элемента управления. ImeModeBase Получает или задает режим IME элемента управления. Свойства System.Windows.Forms.Control
  • 29. http://www.slideshare.net/IgorShkulipa 29 Свойства System.Windows.Forms.Control InvokeRequired Получает значение, показывающее, следует ли вызывающему оператору обращаться к методу invoke во время вызовов метода из элемента управления, так как вызывающий оператор находится не в том потоке, в котором был создан элемент управления. IsAccessible Возвращает или задает значение, показывающее, является ли элемент управления видимым для приложений со специальными возможностями. IsDisposed Получает значение, показывающее, был ли удален элемент управления. IsHandleCreated Получает значение, показывающее, имеется ли у элемента управления сопоставленный с ним дескриптор. IsMirrored Получает значение, показывающее, отображается ли зеркально элемент управления. LayoutEngine Получает кэшированный экземпляр механизма размещения элемента управления. Left Возвращает или задает расстояние (в пикселях) между левой границей элемента управления и левой границей клиентской области его контейнера. Location Получает или задает координаты левого верхнего угла элемента управления относительно левого верхнего угла контейнера. Margin Получает или задает расстояние между элементами управления. MaximumSize Возвращает или задает размер, являющийся верхней границей, которую может указать метод GetPreferredSize. MinimumSize Возвращает или задает размер, являющийся нижней границей, которую может указать метод GetPreferredSize. ModifierKeys Получает значение, указывающее, какая из клавиш-модификаторов (SHIFT, CTRL и ALT) находится в нажатом состоянии. MouseButtons Получает значение, указывающее, какая из кнопок мыши находится в нажатом состоянии. MousePosition Получает позицию указателя мыши в экранных координатах.
  • 30. http://www.slideshare.net/IgorShkulipa 30 Свойства System.Windows.Forms.Control Name Возвращает или задает имя элемента управления. Padding Возвращает или задает заполнение в элементе управления. Parent Возвращает или задает родительский контейнер элемента управления. PreferredSize Получает размер прямоугольной области, в которую может поместиться элемент управления. ProductName Получает имя продукта сборки, содержащей элемент управления. ProductVersion Получает версию сборки, содержащую элемент управления. PropagatingImeMode Получает объект, представляющий режим IME распространения. RecreatingHandle Получает значение, показывающее, осуществляется ли в данный момент повторное создание дескриптора элементом управления. Region Возвращает или задает область окна, сопоставленную с элементом управления. RenderRightToLeft Устаревший. Это свойство устарело. ResizeRedraw Возвращает или задает значение, указывающее, перерисовывается ли элемент управления при изменении размеров. Right Получает расстояние (в пикселях) между правой границей элемента управления и левой границей клиентской области его контейнера. RightToLeft Получает или задает значение, показывающее, выровнены ли компоненты элемента управления для поддержки языков, использующих шрифты с написанием справа налево. ScaleChildren Получает значение, определяющее масштабирование дочерних элементов управления. ShowFocusCues Получает значение, показывающее, должен ли элемент управления отображать прямоугольники фокуса. ShowKeyboardCues Получает значение, указывающее, имеет ли пользовательский интерфейс соответствующее состояние, при котором отображаются или скрываются сочетания клавиш.
  • 31. http://www.slideshare.net/IgorShkulipa 31 Свойства System.Windows.Forms.Control Site Возвращает или задает подложку элемента управления. (Переопределяет Component.Site.) Size Возвращает или задает высоту и ширину элемента управления. TabIndex Возвращает или задает последовательность перехода элемента управления внутри контейнера. TabStop Получает или задает значение, показывающее, может ли пользователь перевести фокус в данный элемент управления при помощи клавиши TAB. Tag Получает или задает объект, содержащий данные элемента управления. Text Получает или задает текст, сопоставленный с этим элементом управления. Top Возвращает или задает расстояние (в пикселях) между верхней границей элемента управления и верхней границей клиентской области его контейнера. TopLevelControl Получает родительский элемент управления, не имеющий другого родительского элемента управления Windows Forms. Как правило, им является внешний объект Form, в котором содержится элемент управления. UseWaitCursor Возвращает или задает значение, указывающее, следует ли использовать курсор ожидания для текущего элемента управления и всех дочерних элементов управления. Visible Получает или задает значение, указывающее, отображаются ли элемент управления и все его дочерние элементы управления. Width Возвращает или задает ширину элемента управления. WindowTarget Инфраструктура. Данное свойство не относится к этому классу.
  • 35. http://www.slideshare.net/IgorShkulipa 35 Лабороторная работа №8. Windows Forms Создать приложение для синхронизации файлов в разных директориях (например, директория на жестком диске и на флеш-накопителе). Реализовать функции (с одной и другой стороны): • Файл изменен • Файл удален • Файл создан Интерфейс приложения создать на основе архитектурного шаблона MVP с использованием Windows Forms.