Українська
Підсумки
Висновки
Windows Forms – технологія настільних застосунків для Windows, у якій інтерфейс складається з форм і елементів керування – об’єктів класів, похідних від Control. Проєкт net10.0-windows містить точку входу Program.cs з циклом повідомлень Application.Run та часткові класи форм: код програміста у MainForm.cs і код конструктора форм у MainForm.Designer.cs. Застосунок керується подіями: дії користувача перетворюються на події, а обробники з параметрами sender і e виконуються в потоці інтерфейсу. Панелі компонування, Anchor і Dock роблять форму стійкою до зміни розміру та масштабу, Validating і ErrorProvider допомагають перевіряти введення, а меню, стандартні діалоги, модальні форми, DataGridView з BindingList<T> і таймер дають змогу створювати повноцінні застосунки для роботи з даними.
Питання для самоперевірки
- Які технології настільних застосунків є в .NET? Чим Windows Forms відрізняється від WPF і .NET MAUI?
- Чому цільовий фреймворк проєкту Windows Forms має вигляд
net10.0-windows? Для чого властивістьUseWindowsForms? - Що робить метод
Application.Run? Коли виконуються рядки після нього? - Для чого клас форми розділено на файли
MainForm.csіMainForm.Designer.cs? Чому не можна редагуватиDesigner.csвручну? - Які вікна Visual Studio використовують під час створення форми в конструкторі?
- Які спільні властивості мають елементи керування? Чим
Enabled = falseвідрізняється відVisible = false? - У якому порядку генеруються події
Load,Activated,Shown,FormClosing,FormClosed? - Як скасувати закриття форми?
- Що таке застосунок, керований подіями? Який шлях проходить клацання мишею до обробника?
- Що передається в параметрах
senderіeобробника події? - Як підключити один обробник до кількох елементів керування?
- Чим відрізняються властивості
AnchorіDock? - Для чого використовують
TableLayoutPanel,FlowLayoutPanelіSplitContainer? - Як працюють події
ValidatingіValidated? Для чого властивістьCausesValidation? - Як показати помилку введення за допомогою
ErrorProvider? - Як задати клавіші швидкого доступу пункту меню та мнемоніку кнопки?
- Чим модальна форма відрізняється від немодальної? Як передати дані між формами?
- Для чого
BindingList<T>іBindingSourceпід час роботи зDataGridView? - Чому таймер Windows Forms не підходить для точного вимірювання часу?
Корисні посилання
- Документація Windows Forms: https://learn.microsoft.com/dotnet/desktop/winforms/
- Огляд Windows Forms: https://learn.microsoft.com/dotnet/desktop/winforms/overview/
- Створення застосунку у Visual Studio: https://learn.microsoft.com/dotnet/desktop/winforms/get-started/create-app-visual-studio
- Елементи керування: https://learn.microsoft.com/dotnet/desktop/winforms/controls/
- Події: https://learn.microsoft.com/dotnet/desktop/winforms/forms/events
- Порядок подій: https://learn.microsoft.com/dotnet/desktop/winforms/order-of-events-in-windows-forms
- Компонування: https://learn.microsoft.com/dotnet/desktop/winforms/controls/layout
- Перевірка введення: https://learn.microsoft.com/dotnet/desktop/winforms/input-keyboard/validation
- Клас
Form: https://learn.microsoft.com/dotnet/api/system.windows.forms.form - Нове у Windows Forms для .NET 10: https://learn.microsoft.com/dotnet/desktop/winforms/whats-new/net100