Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Windows Forms: Сучасна модель програмування до створення GUI додатків

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Обратите увагу до ключовим словом в Листингу 1, яке компілятор З# інтерпретує як підтвердження, що ви мені хочете перевизначити віртуальний метод, успадкований від базового класу. Перопределенный OnPaint записує «Hello, world «у клієнтській галузі форми. OnPaint викликає об'єкт PaintEventArgs (System.WinForms.PaintEventArgs), який містить властивості Graphics і ClipRectangle. Властивість Graphics… Читати ще >

Windows Forms: Сучасна модель програмування до створення GUI додатків (реферат, курсова, диплом, контрольна)

Windows Forms: Сучасна модель програмування для створення GUI додатків

Jeff Prosise, Microsoft Corp.

Введение

Чтобы створити GUI докладання в Microsoft .NETy потрібно використовувати Windows Forms. Windows Forms — новий стиль побудови докладання з урахуванням класів .NETy Framework class library. Вона має власну модель програмування, яка більш досконаліший від, ніж моделі, засновані на Win32 АПІ чи MFC, і вони виконуються у керованій середовищі .NETy Common Language Runtime (CLR). Це стаття дає чітке уявлення у тому, що таке Windows Forms, розглядаючи його від моделі програмування до Microsoft Intermediate Language і JIT-транслятора.

Вы багато чули, що Microsoft .NETy — нова платформа, засновану на Windows. Це ціла нова парадигма програмування, яка змінить шлях, що ви зараз думки про написанні програм для Windows. Вона реалізована на бібліотеці класів .NETy Framework class library і має більш єдину модель програмування, поліпшену захист і багатші змогу написання полнофункциональных веб-приложений. І це лише початок.

Windows Forms — одне з найцікавіших можливостей Microsoft .NETy. Якщо ви і обізнаний із MFC (чи Windows АПІ), то Windows Forms хороше початок до роботи з .NETy Framework class library, вона дозволяє писати традиційні GUI докладання з вікнами, формами тощо. речами. Якось, запрацювавши з Windows Forms ви зможете швидко зрозуміти .NETy Framework.

Главная вигода з написання Windows-приложений з допомогою Windows Forms — те, що Windows Forms гомогенизируют (створюють більш однорідну (гомогенну) структуру) програмну модель і усувають багато помилок та страшної суперечності від використання Windows АПІ. Наприклад, кожен досвідчений програміст під Windows знає, деякі стилі вікна можна застосовувати лише у вікна, як його вже створено. Windows Forms значною мірою усувають таку суперечність. Коли хочете існуючому вікна поставити стиль, що може бути присвоєно під час створення вікна, то Windows Forms спокійно знищить вікно і знову створить його із зазначеним стилем. З іншого боку, .NETy Framework class library набагато більше багатшими, ніж Windows АПІ, і як ви будете писати докладання, використовуючи Windows Forms, ви отримаєте у розпорядження більші можливості. Написання докладання з допомогою Windows Forms зажадає меншого кількості коду, ніж докладання, що використовують Windows АПІ чи MFC.

Другая вигода від Windows Forms — ви використовуєте той самий АПІ, незалежно від мови програмування, що ви вибрали. У минулому, вибір мови програмування управляв вибором АПІ. Якщо ви хоч програмували в Visual Basic, ви використовували один АПІ (реалізований мовою Visual Basic), тоді як програмісти З використовували Win32 АПІ, а програмісти З++, власне кажучи, використовували MFC. MFC-программисту важко було переключитися на Visual Basic і навпаки. Але тепер такого більше немає. Усі докладання, що використовують Windows Forms, використовують один АПІ з .NETy Framework class library. Знання одного АПІ досить дозволить програмісту писати докладання фактично якою мовою, що він вибере.

Windows Forms ні як і менше, ніж сучасна модель програмування для GUI додатків. На відміну від моделі програмування Win32, у якій багато йде ще від Windows 1.0, нова модель розробили з урахуванням інтересів усіх сучасних вимог. Мета цієї статті у тому, щоб познайомити читача з моделлю програмування Windows Forms. Щоб компілювати і виконувати приклади коду, наведеного далі, вашому комп’ютері должнен бути встановлено пакет Microsoft .NETy Framework SDK (.NETy Framework SDK Beta 1 доступний з сайту Microsoft).

Модель програмування Windows Forms

В Windows Forms термін «форма «- синонім вікна верхнього рівня. Головне вікно докладання — форма. Будь-які інші вікна верхнього рівня, які має додаток — також форми. Вікна діалогу також вважаються формами. Попри назва, докладання, використовують Windows Forms, не виглядають як форми. Подібно традиційним Windows-приложениям докладання здійснюють повний контроль над подіями у власних вікнах.

Программисты бачать Microsoft .NETy через лінзу .NETy Framework class library. Уявіть MFC набагато більше і ви матимете точну картину про ширині і глибині .NETy Framework class library. Щоб полегшити протиріччя позначеннях і додати організацію багатьом сотням класів, .NETy Framework class library розбита на ієрархічні розділи імена. Кореневої розділ, System, визначає фундаментальні типи даних, використовувані усіма додатками .NETy.

Приложения, використовують Windows Forms використовують класи System.WinForms. Цей поділ входять такі класи, як Form, який моделює поведінка вікон чи форм; Menu, що робить меню; Clipboard, що дозволяє додатків Windows Forms використовувати буфер обміну. Він також має численні класи, які кошти управління, наприклад: Button, TextBox, ListView, MonthCalendar тощо. Ці класи можуть бути включені в додаток або з допомогою лише імені класу, або з допомогою повного імені, наприклад: System.WinForms.Button.

В основі майже кожного докладання, написаного із застосуванням Windows Forms, — похідний клас від System.WinForms.Form. Зразок цього представляє головне вікно докладання. System.WinForms.Form має безліч властивостей і методів, які мають багатий програмний інтерфейс до форм. Хочете знати розміри клієнтської галузі форми? У Windows ви викликали функцію АПІ GetClientRect. У Windows Forms потрібно використовувати властивості ClientRectangle чи ClientSize.

Приложения, засновані на Windows Forms, що використовують кнопки, списки та інші типи компонентів Windows, використовують класи управління System. WinForms, значно спрощують програмування управління. Хочете створити стилізовану кнопку з зображенням як фону? Ні проблем. Увімкніть необхідну зображення у об'єкт System.Drawing.Bitmap і призначте його властивості кнопки BackgroundImage. Як щодо управління кольором? Ви коли-небудь пробували налаштовувати колір фону текстового поля? У Windows Forms це: треба тільки привласнити колір властивості BackColor, все отстальное система зробить сама.

Другой важливий «будівельний «блок докладання, який використовує Windows Forms — клас System. WinForms під назвою Application. Цей клас містить статичний метод Run, який завантажує додаток і відображає вікно.

Вы скажете: якщо докладання, що є Windows Forms, не обробляють повідомлення, як вони відповідають користувальницький введення чи знають коли малювати? Багато класів мають віртуальні методи, які можна перевизначити… Наприклад, System.WinForms.Form містить віртуальний метод OnPaint, який викликається коли клієнтська область форми потребує оновлення. OnPaint — одне із багатьох віртуальних методів, що можна перевизначити в похідному класі на формування інтерактивних форм.

Другая важлива грань моделі програмування Windows Forms — механізм, який форми використовують із відповіді введення в меню, коштів управління та інших елементів GUI докладання. Традиційні Windows-приложения обробляють повідомлення WM_COMMAND і WM_NOTIFY використовуючи події процесу Windows Forms. У З# та інших мовами, які підтримують .NETy Common Language Runtime (CLR), події - члени типу першого класу які з методами, крисами і властивостями. Фактично, всі управляючі класи (control classes) Windows Forms (в тому числі багато неуправляющие класи) створюють події. Наприклад, кнопка (примірник System.WinForms.Button) після натискання створює подія Click. Форма, яка має відповісти на натискання кнопки може використовувати наступний код, щоб з'єднати кнопку на оброблювачем події Click:

MyButton.Click += new EventHandler (OnButtonClicked);

private void OnButtonClicked (object sender, EventArgs e).

{.

MessageBox.Show («Click! »);

}.

EventHandler — спеціальний оброблювач подій, який виконує метод OnButtonClicked коли MyButton створює подія Click. Перший параметр OnButtonClicked ідентифікує об'єкт, що викликало подія. Другий параметр переважно безглуздий для події Click, але використовується деяким інші типами подій, щоб передати додаткову інформацію.

Приложение " Hello World « с Windows Forms.

Самый найпростіший спосіб розпочати вивчення нової платформи — створення докладання «Hello World ». У Листингу 1 показано версія, створена з допомогою Windows Forms. Усі приклади у цій статті написані на З#, але можете писати докладання Windows Forms якою мовою, котрій є компілятор .NETy. Сьогодні це: З#, Visual Basic, JScript і З++.

ЛИСТИНГ 1.

using System;

using System. WinForms;

using System. Drawing;

public class MyForm: Form.

{.

public MyForm ().

{.

Text = «Windows Forms Demo » ;

}.

protected override void OnPaint (PaintEventArgs e).

{.

e.Graphics.DrawString («Hello, world », Font,.

new SolidBrush (Color.Black), ClientRectangle);

}.

public static void Main (string[] args).

{.

Application.Run (new MyForm ());

}.

}.

Начнем спочатку. Слово «using «вгорі файла дозволяють послатися на класи в пакетах System, System. WinForms і System.Drawing. Наприклад,.

using System. WinForms;

вы пишіть.

public class MyForm: System.WinForms.Form.

вместо.

public class MyForm: Form.

В додатку, использующем Windows Forms, кожне вікно — чи форма — представлено примірником класу, похідного від System.WinForms.Form (Лістинг 1 — клас MyForm). Конструктор MyForm встановлює текст заголовка форми «Windows Forms Demo «використовуючи властивість Text. Text — одна з більш ніж 100 властивостей, які форма успадковує від System.WinForms.Form, але ще єдине, у якому ви маєте потреби.

Как ви знаєте, вікна отримують повідомлення WM_PAINT більшість перерисовок екрана виконано у відповідь цих повідомлень. У Windows Forms еквівалент повідомлення WM_PAINT — віртуальний метод під назвою OnPaint. Похідний клас форми може перевизначити його у разі потреби виконувати власну перемальовування у відповідь повідомлення WM_PAINT.

Обратите увагу до ключовим словом в Листингу 1, яке компілятор З# інтерпретує як підтвердження, що ви мені хочете перевизначити віртуальний метод, успадкований від базового класу. Перопределенный OnPaint записує «Hello, world «у клієнтській галузі форми. OnPaint викликає об'єкт PaintEventArgs (System.WinForms.PaintEventArgs), який містить властивості Graphics і ClipRectangle. Властивість Graphics посилається об'єкта Graphics (System.Drawing.Graphics), що є еквівалентом контексту устрою (device context) в Windows Forms. ClipRectangle похідне об'єкта Rectangle (System.Drawing.Rectangle), який описує яка частина форми є неприпустимій.

Метод OnPaint з MyForm використовує Graphics. DrawString, аби виконати висновок на екран. Перший параметр DrawString — безпосередньо саме повідомлення (рядок) «Hello, world ». Другий — об'єкт Font (System.Drawing.Font), який описує шрифт висновку тексту. MyForm. OnPaint використовує шрифт форми (якої встановлено у властивості Font форми). Третій параметр — Brush (System.Drawing.Brush) — об'єктне визначення кольору тексту. Четвертий і заключний параметр — прямокутник області, куди треба вписати текст.

Заключительная частина MyForm — статичний метод Main. Main — точка входу в додаток. Кожне додаток .NETy повинен мати його. Main можуть оголосити будьяким зі наступних способів:

public static void Main ().

public static int Main ().

public static void Main (string[] args).

public static int Main (string[] args).

Параметр args методу Main — строковый масив параметрів командної рядки (поставлених при виклик програми). Елемент args[0] зберігає перший параметр командної рядки, args[1] - другий тощо. Зазвичай, у кожному додатку метод Main виконується лише один раз (компілятор Microsoft З# допускає використання ключа /main, яке зазначає що не класі міститься метод Main, якщо додаток має кілька класів з методами Main). Main може у будь-якому класі, певному при застосуванні.

Отображение нашої форми на екрані - простий приклад виконання MyForm і передачі дії Application.Run. Application — інший клас, певний в System.WinForms. Метод Run створює форму, відображає в екрані і опрацьовує повідомлення до ній. Наступна інструкція в Листингу 1.

Application.Run (new MyForm ());

обрабатывает MyForm і форму.

Сохраните текст програмного коду (Лістинг 1) в файлі Hello. cs і відкомпілюйте його. Щоб це, відкрийте вікно командної рядки, перейдіть до каталогу файла Hello. cs і введіть:

csc /target:winexe /out:Hello.exe /reference:System.dll.

/reference:System.WinForms.dll /reference:System.Drawing.dll.

/reference:Microsoft.Win32.Interop.dll Hello.cs.

Команда csc викликає компілятор Microsoft З#. «Hello.cs «свідчить про файл, потрібного відкомпілювати. Ключ «/target:winexe «повідомляє компілятору, що треба створити GUI-приложение для Windows, а «/out:Hello.exe «задає ім'я файла програми (цей ключ можна опустити, т.к. у разі за умовчанням усе одно буде створено Hello. exe, т.к. CS-файл названо Hello. cs). Ключі «/reference «вказують посилання зовнішні класи, наприклад, для System.WinForms.Form і System.Drawing.Size. Для стислості допускається заміняти «/target «і «/reference «на «/t «і «/r » .

Hello.exe звичайна EXE-файл, це .NET-программа, яка містить такі важливі елементи:

Microsoft Intermediate Language (MSIL), сгенерированный з допомогою З#.

Метаданные, описують типи (класи), певні при застосуванні, і типи (наприклад, System.WinForms.Form), куди посилається додаток, перебувають у іншому місці (наприклад, в MsCorLib. dll і System.WinForms.dll).

Декларация, яка описувала необхідні файли для складання докладання.

В мові .NETy, складання — це колекція вже з чи більше файлів, створюють модуль. Наша складання містить лише одне файл — Hello. exe — і це факт відзначений в декларації всередині здійсненним програми. Декларація фізично збережена як частина метаданих. Кожна керована здійсненне програма — це є будь-який PE-файл, який містить MSIL — частина складання й кожна керована здійсненне програма має метадані всередині. Одне з файлів в .NET-сборке містить декларацію ідентифікації файлів, що їх включені при складанні і загальнодоступні типи. Компілятор З# виробляє всю необхідну інфраструктуру.

Теперь як ви откомпилировали Hello. exe, можете набрати в командної рядку:

Hello.

Посмотрите на мал.1, аби побачити результат нашої программы.

Список литературы

Для підготовки даної праці були використані матеріали із сайту internet.

Показати весь текст
Заповнити форму поточною роботою