Створення gui додатків в windows.

щоб створити GUI додатки в Microsoft .NET потрібно використовувати Windows Forms.Windows Forms - новий стиль побудови програми на базі класів.NET Framework class library. Вони мають власну модель програмування, яка більш досконаліше, ніж моделі, засновані на Win32 API або MFC, і вони виконуються в керованому середовищі.NET Common Language Runtime (CLR).

Ця стаття дає уявлення про те, що таке Windows Forms, розглядаючи її від моделі програмування до Microsoft Intermediate Language і JIT-транслятора.Ви вже багато чули, що Microsoft .NET - нова платформа, яка заснована на Windows. Це ціла нова парадигма програмування, яка змінить шлях, яким ви зараз думаєте про написання програм для Windows. Вона реалізована на бібліотеці класів.NET Framework class library і містить більш єдину модель програмування, поліпшений захист і багатші можливості для написання повнофункціональних веб-додатків. І це лише початок. Windows Forms - одна з найбільш цікавих можливостей Microsoft .NET. Якщо ви знайомі з MFC (або Windows API), то Windows Forms гарний початок для роботи с.NET Framework class library, тому що вона дозволяє писати традиційні GUI додатки з вікнами, формами і т.п. речами. Одного разу, почавши працювати з Windows Forms ви зможете швидко зрозуміти.NET Framework.Головна вигода від написання Windows-додатків з використанням Windows Forms -це те, що Windows Forms гомогенизируют (створюють більш однорідну (гомогенну) структуру) програмну модель і усувають багато помилок і протиріччя від використання Windows API. Наприклад, кожен досвідчений програміст під Windows знає, що деякі стилі вікна можуть застосовуватися тільки до вікна, коли воно вже створено. Windows Forms в значній мірі усувають таке протиріччя. Якщо ви хочете існуючого вікна задати стиль, який може бути присвоєний тільки в момент створення вікна, то Windows Forms спокійно знищить вікно і знову створить його з вказаним стилем. Крім того, .NET Framework class library набагато більш багатшими, ніж Windows API, і коли ви будете писати програми, використовуючи Windows Forms, ви отримаєте в розпорядження більше можливостей. Написання програми з використанням Windows Forms зажадає меншої кількості коду, ніж додатки, які використовують Windows API або MFC.

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

Відео: Java для початківців. Створення додатків з GUI

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

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

Програми, що використовують 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 ви викликали б функцію API 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. У C # і на інших мовах, які підтримують .NET 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

Відео: create c ++ windows application form in visual studio 2013/2015



Найпростіший спосіб почати вивчення нової платформи - створення додатка «Hello World«. У лістингу 1 показана версія, створена за допомогою Windows Forms.

Всі приклади в цій статті написані на C #, але ви можете писати програми Windows Forms на будь-якій мові, для якого є компілятор.NET. Сьогодні це: C #, VisualBasic, JScript і C ++.

Лістинг 1

using System-

using System.WinForms-

using System.Drawing-

public class MyForm: Form

{

Відео: Створення віконних додатків. Visual Studio C #. урок №1

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 ()) -

Відео: C # Programming: Building Windows Form Contact List (GUI Application)

}

}

Почнемо спочатку. слово «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, яке компілятор C # інтерпретує як підтвердження, що ви хочете перевизначити віртуальний метод, успадкований від базового класу. Перопределенний 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) - об`єктне визначення кольору тексту.

Поділися в соц мережах:
Cхоже

Увага, тільки СЬОГОДНІ!