'

Литература

Понравилась презентация – покажи это...





Слайд 0

Литература Троелсен Э. Язык программирования С# 2005 и платформа .NET 2.0 - Изд. Вильямс, 2007. Мак-Дональд М. WPF: Windows Presentation Foundation в .NET 3.0 для профессионалов. - Изд. Вильямс, 2008. Петцольд Ч. Microsoft Windows Presentation Foundation. Базовый курс. - Изд. Microsoft Press. Русская редакция, СПб.: Питер, 2008. Нейгел К., Ивьен Б и др. С# 2005 и платформа .NET 3.0 для профессионалов. – Изд. Диалектика, 2007.


Слайд 1

Платформа Microsoft® .NET 3.0 - 3.5 Windows Vista Windows XP Windows Server 2003 Windows Workflow Foundation Windows Communication Foundation Windows CardSpace Windows Presentation Foundation .NET Framework 2.0 ASP .NET …………….. ADO .NET Приложение Платформа Microsoft .NET Framework 3.0 — это новая модель программирования управляемого кода для операционной системы Windows®. Платформа Microsoft .NET Framework 3.0 — это новая модель программирования управляемого кода для операционной системы Windows.


Слайд 2

Новые технологии платформы .NET 3.0 - 3.5 WWF - Windows Workflow Foundation – программная модель и набор инструментов для определения и выполнения логики потока работ независимо от специфики задействованных в нем операций. WCF - Windows Communication Foundation – новая коммуникационная технология - управление процессом создания распределенных систем и взаимодействия компонентов по сети на базе протоколов Web-сервисов. WPF – Windows Presentation Foundation – новая подсистема визуализации и пользовательского интерфейса. Windows CardSpace – технология безопасной идентификации пользователей при перемещении между ресурсами Интернета без необходимости повторного ввода имен и паролей (развитие Microsoft Passport).


Слайд 3

WPF- Windows Presentation Foundation WPF – новая программная модель пользовательского интерфейса. Весь вывод происходит через DirectX – интерфейс аппаратно-ускоренной графики. Возможность использования языка разметки XAML (eXtensible Application Markup Language) для декларативного описания пользовательского интерфейса приложения. Common Language Runtime Windows Vista Windows XP Windows Server 2003 DirectX Windows Presentation Foundation PresentationFramework PresentationCore milcore WindowsForms


Слайд 4

Компиляция приложения Windows API Исходные файлы .cpp С++ компилятор для Windows Компоновщик для Windows Исполняемый файл .exe без ресурсов Заголовочные файлы .h Библиотеки .lib Объектные файлы .obj Файл описания модуля .def Компилятор ресурсов Скомпилированный файл ресурсов .res Текстовый файл ресурсов .rc Бинарные файлы ресурсов .ico .bmp … Заголовочные файлы .h Исполняемый модуль .exe Заголовок Код Ресурсы Компилятор ресурсов


Слайд 5

Выполнение приложения Windows API OC Windows Очередь сообщений приложения 1 Данные с информацией об элементах управления приложения 1 Приложение 1 WinMain Оконная функция 1 Оконная функция 2 Оконная функция … Приложение 2 WinMain Оконная функция 1 Оконная функция 2 Оконная функция … Данные с информацией об элементах управления приложения 2 Очередь сообщений приложения 2 Цикл обработки сообщений Цикл обработки сообщений User32.dll Код функци й API


Слайд 6

Windows Forms WindowsForms - подмножество типов библиотеки BCL в .NET Framework 1.0, 2.0, 3.0 для создания пользовательского интерфейса локальных приложений. Классы поддерживают все элементы пользовательского интерфейса Win32. Некоторые классы описывают элементы управления, работающие только в .NET Framework. Большая часть типов определена в пространстве имен System.Windows.Forms и во вложенных в него пространствах имен .


Слайд 7

Windows Forms и Win32 Форма (Form) - окно верхнего уровня или окно диалога. Обычно окно верхнего уровня содержит несколько элементов управления - дочерних окон, реализующих типовую функциональность. Любое окно приложения является объектом операционной системы – при его создании ОС в своих сегментах распределяет память для информации о текущем состоянии окна и назначает ему дескриптор (handle). По дескрипторам операционная система идентифицирует окна приложений. В приложении на C# форма является объектом типа System.Windows.Forms.Form или производного от него. Дескриптор окна доступен через свойство базового класса System.Windows.Forms.Control и иногда используется программой. public virtual IntPtr Handle {get;}


Слайд 8

Выполнение приложения WindowsForms Очередь сообщений приложения 1 Данные с информацией об элементах управления приложения 1 Приложение 1 Класс Program Обработчик события 1 Обработчик события 2 Обработчик события … Приложение 2 Класс Program Обработчик события 1 Обработчик события 2 Обработчик события … Данные с информацией об элементах управления приложения 2 Очередь сообщений приложения 2 User32.dll Код функци й API CLR Событие Событие Сообщение Сообщение Классы WindowsForms Main() Main() Класс Form1 InitializeComponent() Класс Form1 InitializeComponent()


Слайд 9

Иерархия классов Windows Forms System.Object    System.MarshalByRefObject       System.ComponentModel.Component          System.Windows.Forms.Control             System.Windows.Forms.ScrollableControl                System.Windows.Forms.ContainerControl                   System.Windows.Forms.Form


Слайд 10

Иерархия классов Windows Forms -2


Слайд 11

Классы элементов управления Windows Forms


Слайд 12

Классы стандартных диалогов


Слайд 13

Визуальный дизайнер форм При создании проекта Visual C# Windows Forms Application public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; private System.Windows.Forms.TextBox textBox1; ... } cоздает класс, производный от класса System.Windows.Forms.Form - Form1 в примере; добавляет в класс поля - ссылки на объекты классов, описывающих элементы управления на форме.


Слайд 14

Метод InitializeComponent() Визуальный дизайнер форм создает метод InitializeComponent() и размещает его вызов в конструкторе формы. В методе InitializeComponent() распределяется память под объекты классов для элементов пользовательского интерфейса и присваиваются значения по умолчанию некоторым их свойствам; все элементы управления (ссылки на объекты) добавляются к коллекции элементов управления. public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); }


Слайд 15

Метод InitializeComponent() -2 private void InitializeComponent() { … this.Controls.Add(this.button2); this.Controls.Add(this.textBox1); this.Controls.Add(this.button1); this.Name = "Form1"; this.Text = "Form1"; this.ResumeLayout(false); } Форма как окно(объект OC) создается либо при вызове статического метода Run класса Application, либо при вызове экземплярных методов Show или ShowDialog класса Form static void Main() { Application.Run(new Form1()); } В методе InitializeComponent() все элементы управления (ссылки на объекты) добавляются к коллекции элементов управления.


Слайд 16

События и свойства Свойства формы/элемента управления определяют внешний вид и режимы работы. События несут информацию обо всех изменениях, которые происходят с формой или элементом управления. Все свойства и события, определенные в классе элемента управления, отображаются в визуальном дизайнере форм. Имя класса формы Переключатели для показа свойств или событий, отсортированных по алфавиту или по категориям.


Слайд 17

Взаимодействие с пользователем Все аппаратные прерывания мыши и клавиатуры (действия пользователя) кодируются OC в определенном формате и размещаются в очереди сообщений. В очереди сообщений размещаются также сообщения, связанные с работой самого приложения или других приложений. OC для каждого приложения создает и поддерживает свою очередь сообщений. Каждое сообщение связано с конкретным окном приложения (хранит дескриптор окна) и может содержать дополнительную информацию.


Слайд 18

Взаимодействие с .NET Framework .NET Framework выбирает сообщения из очереди приложения и преобразует их в события. Объекты приложения подписываются на события, указывая метод-обработчик события. Некоторые классы имеют обработчики по умолчанию. В приведенном ниже примере форма подписалась на три события – Load, FormClosing и FormClosed. private void InitializeComponent() { … this.Load += new System.EventHandler(this.Form1_Load); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Form1_FormClosed); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); }


Слайд 19

Обработчики событий Обработчику события .Net Framework передает два параметра. первый содержит ссылку на объект, который вызвал событие. через второй параметр передается ссылка на объект с дополнительной информацией о событии. Тип второго параметра зависит от события. Некоторые события (например, событие Button.Click) не передают дополнительную информацию. private void button1_Click(object sender, EventArgs e) { MessageBox.Show("button1_Click"); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (first) { first = false; e.Cancel = true; } MessageBox.Show("Form1_FormClosing"); } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { MessageBox.Show("Closed: " + e.CloseReason.ToString()); }


Слайд 20

Для вывода сообщений и организации простейшего взаимодействия с пользователем обычно используется статический метод Show класса MessageBox public static DialogResult Show( string text ); public static DialogResult Show( string text, string caption, MessageBoxButtons buttons ); public static DialogResult Show ( string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton); Окно сообщений. Класс MessageBox System.Object    System.Windows.Forms.MessageBox В классе только один метод Show (статический, 21 перегрузка в 3.5)


Слайд 21

Перечисление MessageBoxButtons определяет набор кнопок в диалоге сообщений MessageBox. Перечисления для MessageBox Перечисление MessageBoxIcons определяет одну из готовых иконок в диалоге сообщений MessageBox. Перечисление MessageBoxDefaultButton определяет кнопку по умолчанию в диалоге сообщений MessageBox.


Слайд 22

используется как возвращаемое значение статического метода Show класса MessageBox; как значение свойства DialogResult класса Form; как значение свойства DialogResult класса Button. Элементы перечисления DialogResult: Перечисление DialogResult if ( MessageBox.Show("Continue?","", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { … } else return;


×

HTML:





Ссылка: