Презентация «Построение оконных приложений»

Смотреть слайды в полном размере
Презентация «Построение оконных приложений»

Вы можете ознакомиться с презентацией онлайн, просмотреть текст и слайды к ней, а также, в случае, если она вам подходит - скачать файл для редактирования или печати. Документ содержит 81 слайд и доступен в формате ppt. Размер файла: 911.50 KB

Просмотреть и скачать

Pic.1
Язык С# Построение оконных приложений Лекция #7
Язык С# Построение оконных приложений Лекция #7
Pic.2
Способы создания приложения Windows Вручную и откомпилировать csc. exe WinDes. exe из . NET SDK Visu
Способы создания приложения Windows Вручную и откомпилировать csc. exe WinDes. exe из . NET SDK Visual Studio. NET
Pic.3
Обзор пространства имен Windows. Forms
Обзор пространства имен Windows. Forms
Pic.4
Создание главного окна приложения namespace MyRawWindow { using System; using System. Windows. Forms
Создание главного окна приложения namespace MyRawWindow { using System; using System. Windows. Forms; public class MainWindow : Form { public MainWindow(){} // Запускаем приложение public static int …
Pic.5
Визуальная разработка
Визуальная разработка
Pic.6
Фрагмент кода public class Form1 : System. Windows. Forms. Form { private System. ComponentModel. Co
Фрагмент кода public class Form1 : System. Windows. Forms. Form { private System. ComponentModel. Container components = null; public Form1() { InitializeComponent(); // TODO here } protected …
Pic.7
Методы объекта Application
Методы объекта Application
Pic.8
Свойства объекта Application
Свойства объекта Application
Pic.9
События объекта Application
События объекта Application
Pic.10
Добавление атрибутов в файл AssemblyInfo. cs // Атрибуты для нашей сборки [assembly:AssemblyCompany(
Добавление атрибутов в файл AssemblyInfo. cs // Атрибуты для нашей сборки [assembly:AssemblyCompany("Intertech, Inc. ")] [assembly:AssemblyProduct("A Better Window")] [assembly: …
Pic.11
Работа с классом Application namespace AppClassExample { using System; using System. Windows. Forms;
Работа с классом Application namespace AppClassExample { using System; using System. Windows. Forms; using System. Reflection; public class MainForm : Form { . . . public MainForm() { GetStats(); } …
Pic.12
Реагируем на событие ApplicationExit public class MainForm : Form { . . . public MainForm() { . . .
Реагируем на событие ApplicationExit public class MainForm : Form { . . . public MainForm() { . . . // Перехватываем событие ApplicationExit Application. ApplicationExit += new …
Pic.13
Препроцессинг сообщений // Мы должны указать это пространство имен! using Microsoft. Win32; // Созда
Препроцессинг сообщений // Мы должны указать это пространство имен! using Microsoft. Win32; // Создаем класс — фильтр сообщений public class MyMessageFilter : IMessageFilter { public bool …
Pic.14
Добавление фильтра public class MainForm : Form { private MyMessageFilter msgFilter = new MyMessageF
Добавление фильтра public class MainForm : Form { private MyMessageFilter msgFilter = new MyMessageFilter(); . . . public MainForm() { . . . // Добавляем (регистрируем) фильтр сообщений Application. …
Pic.15
Анатомия формы Структура оконного приложения
Анатомия формы Структура оконного приложения
Pic.16
Цепочка наследования класса Form
Цепочка наследования класса Form
Pic.17
Класс Component реализация интерфейса IComponent public interface IComponent: IDisposable { // Свойс
Класс Component реализация интерфейса IComponent public interface IComponent: IDisposable { // Свойство Site public ISite Site { virtual get; vitural site;} // Событие Disposed public event …
Pic.18
Класс Component реализация интерфейса ISite, который позволяет элементу управления взаимодействовать
Класс Component реализация интерфейса ISite, который позволяет элементу управления взаимодействовать с контейнером, в котором он расположен public interface ISite: IServiceProvider { // Свойства …
Pic.19
Переопределение метода Dispose public override void Dispose() { base. Dispose(); // Здесь выполняем
Переопределение метода Dispose public override void Dispose() { base. Dispose(); // Здесь выполняем необходимые действия }
Pic.20
Класс Control Класс Control определяет общие черты всех типов, относящихся к элементам графического
Класс Control Класс Control определяет общие черты всех типов, относящихся к элементам графического интерфейса
Pic.21
Важные свойства объекта Control
Важные свойства объекта Control
Pic.22
Важные методы объекта Control
Важные методы объекта Control
Pic.23
Важные методы объекта Control
Важные методы объекта Control
Pic.24
Настройка стиля формы public enum ControlStyles { AllPaintingToWmPaint, CacheText, ContainerControl,
Настройка стиля формы public enum ControlStyles { AllPaintingToWmPaint, CacheText, ContainerControl, EnableNotifyMessage, FixedHeight, FixedWidth, Opaque, ResizeRedraw, Selectable, StandardClick, …
Pic.25
Настройка стиля формы public enum ControlStyles { AllPaintingToWmPaint, CacheText, ContainerControl,
Настройка стиля формы public enum ControlStyles { AllPaintingToWmPaint, CacheText, ContainerControl, EnableNotifyMessage, FixedHeight, FixedWidth, Opaque, ResizeRedraw, Selectable, StandardClick, …
Pic.26
Важные события класс Control
Важные события класс Control
Pic.27
Работаем с классом Control // Необходимо для использования типа Rectangle using System. Drawing; . .
Работаем с классом Control // Необходимо для использования типа Rectangle using System. Drawing; . . . public class MainForm : Form { public static int Main(string[] args) { Application. Run(new …
Pic.28
Завершение работы приложения protected override void Dispose( bool disposing ) { if( disposing ) { i
Завершение работы приложения protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) components. Dispose(); } base. Dispose( disposing ); MessageBox. …
Pic.29
Перехват событий от мыши public class MainForm : Form { public static int Main(string[] args) { Appl
Перехват событий от мыши public class MainForm : Form { public static int Main(string[] args) { Application. Run(new MainForm()); return 0; } public MainForm() { Top = 100; Left = 75; Height = 100; …
Pic.30
Перехват событий от мыши public class MainForm : Form { . . . public MainForm() { . . . // Отслежива
Перехват событий от мыши public class MainForm : Form { . . . public MainForm() { . . . // Отслеживаем движения мыши (вместе с событием MouseUp this. MouseUp += new MouseEventHandler(OnMouseUp); …
Pic.31
2-й вариант public class MainForm : Form { public MainForm() { // Сейчас обработчики событий нам уже
2-й вариант public class MainForm : Form { public MainForm() { // Сейчас обработчики событий нам уже нужны // this. MouseUp += new MouseEventHandler(OnMouseUp); // this. MouseUp += new …
Pic.32
Реагируем на события клавиатуры public class MainForm : form { . . . public MainForm() { Top = 100;
Реагируем на события клавиатуры public class MainForm : form { . . . public MainForm() { Top = 100; Left = 75; Height = 100; Width = 500; MessageBox. Show(Bounds. ToString(), "Current …
Pic.33
Свойства класса KeyEventArgs
Свойства класса KeyEventArgs
Pic.34
Дополнительные свойства класса Control
Дополнительные свойства класса Control
Pic.35
Дополнительные методы класса Control
Дополнительные методы класса Control
Pic.36
Дополнительные события класса Control
Дополнительные события класса Control
Pic.37
Возможности класса Control using System; using System. Windows. Forms; using System. Drawing; // Для
Возможности класса Control using System; using System. Windows. Forms; using System. Drawing; // Для типов Color, Brush и Font public class MainForm : Form { . . . public MainForm() { // …
Pic.38
Событие Paint и PaintEventArgs ClipRectangle – прямоугольная область вывода изображения Graphics – к
Событие Paint и PaintEventArgs ClipRectangle – прямоугольная область вывода изображения Graphics – контекст вывода изображения
Pic.39
Класс ScrollableControl // Этот код помещается в конструктор класса // InitializeComponent() // Для
Класс ScrollableControl // Этот код помещается в конструктор класса // InitializeComponent() // Для работы с классом Size также нужна ссылка // на пространство имен System. Drawing this. AutoScroll = …
Pic.40
Класс ContainerControl
Класс ContainerControl
Pic.41
Некоторые свойства класса Form (2)
Некоторые свойства класса Form (2)
Pic.42
Некоторые свойства класса Form
Некоторые свойства класса Form
Pic.43
Некоторые методы класса Form
Некоторые методы класса Form
Pic.44
Некоторые события класса Form
Некоторые события класса Form
Pic.45
Иллюстрация возможностей класса Form public class MainForm: Form { . . . public MainForm() { // Наст
Иллюстрация возможностей класса Form public class MainForm: Form { . . . public MainForm() { // Настраиваем исходный облик нашей формы BackColor = Color. LemonChiffon; // Цвет фона: Text = "My …
Pic.46
Меню
Меню
Pic.47
Члены класса Menu
Члены класса Menu
Pic.48
Члены вложенного класса Menu$MenuItemCollection
Члены вложенного класса Menu$MenuItemCollection
Pic.49
Создание меню программным способом public class MainForm: Form { private MainMenu mainMenu; // Главн
Создание меню программным способом public class MainForm: Form { private MainMenu mainMenu; // Главное меню для Form public MainForm() { mainMenu = new MainMenu(); // Создаем главное меню // Создаем …
Pic.50
public class MainForm : Form // Простое приложение с главным меню public class MainForm : Form // Пр
public class MainForm : Form // Простое приложение с главным меню public class MainForm : Form // Простое приложение с главным меню { // Главное меню для формы private MainMenu mainMenu; // Запускаем …
Pic.51
Добавляем еще одно меню верхнего уровня public class MainForm : Form { private MainMenu mainMenu; .
Добавляем еще одно меню верхнего уровня public class MainForm : Form { private MainMenu mainMenu; . . . public MainForm() { // Создаем меню File - Exit MenuItem miFile = mainMenu. MenuItems. …
Pic.52
Создаем контекстное меню I namespace MainForm { // Вспомогательная структура для установки размера ш
Создаем контекстное меню I namespace MainForm { // Вспомогательная структура для установки размера шрифта internal struct TheFontSize { public static int Huge = 30; public static int Normal = 20; …
Pic.53
Создаем контекстное меню II public MainForm() { // Прежде всего создаем контекстное меню popUpMenu =
Создаем контекстное меню II public MainForm() { // Прежде всего создаем контекстное меню popUpMenu = new ContextMenu(); // Теперь добавляем в контекстное меню элементы popUpMenu. MenuItems. …
Pic.54
Создаем контекстное меню III // Обработчик для PopUp_Clicked (всех трех пунктов) private void PopUp_
Создаем контекстное меню III // Обработчик для PopUp_Clicked (всех трех пунктов) private void PopUp_Clicked(object sender, EventArgs e) { // Ориентируемся на строковое имя выбранного пользователем …
Pic.55
Дополнительные возможности меню
Дополнительные возможности меню
Pic.56
Дополнительные возможности меню
Дополнительные возможности меню
Pic.57
Установка флажка в контекстном меню I public class MainForm : Form { // Текущий размер шрифта privat
Установка флажка в контекстном меню I public class MainForm : Form { // Текущий размер шрифта private int currFontSize = TheFontSize. Normal; // Контекстное меню для формы private ContextMenu …
Pic.58
Установка флажка в контекстном меню II // Конструктор формы public MainForm() { // Настраиваем исход
Установка флажка в контекстном меню II // Конструктор формы public MainForm() { // Настраиваем исходный облик формы Text = "PopUp Menu"; CenterToScreen(); // Прежде всего создаем …
Pic.59
Установка флажка в контекстном меню III private void PopUp_Clicked(object sender, EventArgs e) { //
Установка флажка в контекстном меню III private void PopUp_Clicked(object sender, EventArgs e) { // Снимаем флажок с выбранного в настоящий момент пункта currentCheckedItem. Checked = false; // …
Pic.60
Создание меню при помощи VS
Создание меню при помощи VS
Pic.61
Свойства объекта StatusBar
Свойства объекта StatusBar
Pic.62
Свойства объекта StatusBarPanel
Свойства объекта StatusBarPanel
Pic.63
Свойства объекта StatusBarPanel
Свойства объекта StatusBarPanel
Pic.64
Создаем строку состояния public class MainForm : Form { // Создаем объекты для всей строки состояния
Создаем строку состояния public class MainForm : Form { // Создаем объекты для всей строки состояния и ее // отдельных панелей private StatusBar statusBar = new StatusBar(); private StatusBarPanel …
Pic.65
Создаем строку состояния private void BuildStatBar() { // Настраиваем строку состояния statusBar. Sh
Создаем строку состояния private void BuildStatBar() { // Настраиваем строку состояния statusBar. ShowPanels = true; statusBar. Size = new System. Drawing. Size(212, 20); statusBar. Location = new …
Pic.66
Создаем строку состояния // Добавляем значок try { // Этот значок обязательно должен находиться в ка
Создаем строку состояния // Добавляем значок try { // Этот значок обязательно должен находиться в каталоге приложения. Icon i = new Icon("status. ico"); sbPnlPrompt. Icon = i; } …
Pic.67
Члены класса Timer
Члены класса Timer
Pic.68
Работа с таймером public class MainForm : Form { . . . private Timer timer1 = new Timer(); public Ma
Работа с таймером public class MainForm : Form { . . . private Timer timer1 = new Timer(); public MainForm() { // Настраиваем объект Timer timer1. Interval = 1000; timer1. Enabled = true; timer1. …
Pic.69
Отображение в строке состояния подсказок к пунктам меню public class MainForm : Form { . . . public
Отображение в строке состояния подсказок к пунктам меню public class MainForm : Form { . . . public MainForm() { . . . // Событие MenuComplete происходит при выходе пользователем из меню. // Мы будем …
Pic.70
Отображение в строке состояния подсказок к пунктам меню // Вспомогательные функции private void Buil
Отображение в строке состояния подсказок к пунктам меню // Вспомогательные функции private void BuildMenuSystem() { // Создаем главное меню mainMenu = new MainMenu(); // Создаем меню File MenuItem …
Pic.71
Панель инструментов Класс ToolBar Класс ToolBarButton Поместить кнопки в ToolBarButtonCollection объ
Панель инструментов Класс ToolBar Класс ToolBarButton Поместить кнопки в ToolBarButtonCollection объекта ToolBar
Pic.72
Свойства класса ToolBar
Свойства класса ToolBar
Pic.73
Свойства класса ToolBarButton
Свойства класса ToolBarButton
Pic.74
Простейшая (без изображений) панель public class MainForm : Form { // Создаем панель инструментов и
Простейшая (без изображений) панель public class MainForm : Form { // Создаем панель инструментов и две кнопки private ToolBarButton tbSaveButton = new ToolBarButton(); private ToolBarButton …
Pic.75
Простейшая (без изображений) панель private void BuildToolBar() { // Настраиваем каждую кнопку tbSav
Простейшая (без изображений) панель private void BuildToolBar() { // Настраиваем каждую кнопку tbSaveButton. Text = "Save"; tbSaveButton. ToolTipText = "Save"; tbExitButton. Text …
Pic.76
Добавление изображений public class MainForm : Form { // Объект для хранения набора изображений priv
Добавление изображений public class MainForm : Form { // Объект для хранения набора изображений private ImageList toolBarIcons = new ImageList(); . . . private void BuildToolBar() { // Настраиваем …
Pic.77
Создание панели инструментов в VS
Создание панели инструментов в VS
Pic.78
Пример работы с системным реестром // Предположим, что у нас установлены следующие значения переменн
Пример работы с системным реестром // Предположим, что у нас установлены следующие значения переменных: // Color currColor = Color. MistyRose; // private int currFontSize = TheFontSize. Normal; …
Pic.79
Пример работы с системным реестром public MainForm() { // Открываем параметр реестра RegistryKey reg
Пример работы с системным реестром public MainForm() { // Открываем параметр реестра RegistryKey regKey = Registry. CurrentUser; regKey = regKey. …
Pic.80
Запись в журнал событий // Срабатывает при активизации пользователем пункта меню File4Exit private v
Запись в журнал событий // Срабатывает при активизации пользователем пункта меню File4Exit private void FileExit_Clicked(object sender, EventArgs e) { // Мы делаем записи в журнал событий приложений …
Pic.81
Чтение журнала событий private void FileExit_Clicked(object sender, EventArgs e) { . . . // Отобража
Чтение журнала событий private void FileExit_Clicked(object sender, EventArgs e) { . . . // Отображаем первые пять записей журнала событий приложений for(int i = 0; i < 5; i++) { try { MessageBox. …


Скачать презентацию

Если вам понравился сайт и размещенные на нем материалы, пожалуйста, не забывайте поделиться этой страничкой в социальных сетях и с друзьями! Спасибо!