Приклад використання propertygrid в c #, development practice

Для тих, хто постійно використовує Visual Studio, панель Properties (Властивості), є одним з основних інструментів для редагування властивостей елементів, в першу чергу це стосується графічних примітивів в Windows Forms і WPF. Безсумнівно, такий елемент може бути корисний і у власному проекті. Далі мова піде про те, як використовувати PropertyGrid в додатку.

В рамках даної статті ми створимо додаток, в при побудові якого навчимося працювати з елементом PropertyGrid (сітка властивостей).

Код проекту можна завантажити тут.

Типове вікно сітки властивостей виглядає так:

Приклад використання propertygrid в c #, development practice

Даний елемент призначений для редагування і відображення властивостей різних об'єктів в зручному вигляді.

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

У нашому проекті ми продемонструємо роботу з наступними типами властивостей:

Роботу з динамічно змінюються масивами, які, теж, безсумнівно, можна використовувати в якості значення властивостей, ми розглянемо в наступній статті, присвяченій даній темі.

Для того, щоб в проекті використовувати сітку властивостей необхідно:

  1. Створити в батьківському елементі (наприклад формі) об'єкт класу PropertyGrid.
  2. Створити клас, що описує певний набір властивостей. Кожне таке властивість конфигурируется за допомогою атрибутів.
  3. Створити об'єкт класу властивостей і привласнити його полях необхідні значення.
  4. Привласнити властивості SelectedObject об'єкта класу PropertyGrid об'єкт з описом властивостей (створений в пункті 3).

Створення каркаса додатки

Створимо новий додаток Windows Forms з ім'ям "PropertyGridExample" і додамо на головну форму два елементи "ComboBox" і "PropertyGrid".

Якщо в списку Toolbox немає елемента PropertyGrid, то його слід додати. Для цього натисніть правою кнопкою миші на панелі Toolbox для переміщення та вибору "Choose Items ...".

Приклад використання propertygrid в c #, development practice

На вкладці ".NET Framework Components" знайдіть у списку рядок з ім'ям "PropertyGrid" і відзначте її галочкою.

Приклад використання propertygrid в c #, development practice

Тепер на панелі "Toolbox" у вас повинен з'явитися елемент "PropertyGrid".

Приклад використання propertygrid в c #, development practice

Задамо наступні властивості батьківської формі:

Має вийти приблизно наступне.

Приклад використання propertygrid в c #, development practice

Створимо порожню папку з ім'ям "PropertyClasses" в нашому додатку, для цього потрібно натиснути правою кнопкою миші на імені проекту в дереві рішення вікна "Solution Explorer" і вибрати "Add-> New Folder".

У створену папку додамо файли C # класів з наступними іменами:

  • PropertyTextField
  • PropertyTrueFalse
  • PropertyCategories
  • PropertyList
  • PropertyColorSelector
  • PropertyFontConfig

Після цього вікно рішення повинно виглядати приблизно так:

Приклад використання propertygrid в c #, development practice

Додамо обробники подій для наступних елементів:

Вихідний код головної форми проекту наведено нижче.

При завантаженні форми в методі "Form1_Load" здійснюється ініціалізація об'єктів, які є демонстрацією використання тих чи інших типів властивостей. Метод "cbKindOfProps_SelectedIndexChanged" викликається при виборі даного нас приклад зі списку. Для управління сіткою властивостей використовується об'єкт "prgProperty".

Створення класів, що описують різні типи властивостей

Для управління видом властивості у вікні "PropertyGrid" використовуються атрибути, наведені в таблиці нижче.

Відображення властивості. Відображати (true) або не відображати (false) дана властивість у вікні "PropertyGrid".

Редаговані властивості. Властивість з можливістю редагування (true) або тільки для читання (false)

Опис властивості. Буде відображено в нижній частині вікна PropertyGrid.

Завдання виду властивості у вікні PropertyGrid.

Далі будуть представлені класи, що реалізують роботу тих чи інших типів властивостей.

Тип властивості - текстове поле.

Тип властивості - логічна змінна.

Тип властивості - список.

Для того, щоб даний список працював додамо перерахування "Direction", елементи якого і будуть міститися в випадаючому списку.

Також визначимо клас "DirConverter" для перетворення елементів перерахування "Direction" в строкове представлення. Тип цього класу вказується як параметр атрибута "TypeConverter" класу перечислительного властивості.

Тип властивості - колір.

Тип властивості - шрифт.

додаток PropertyGridExample

Запущене застосування "PropertyGridExample" виглядає так.

Приклад використання propertygrid в c #, development practice

У випадаючому списку нам пропонуються приклади, що демонструють роботу різних типів властивостей. На малюнку вище показано текстове властивість. Далі за списком - логічне властивість.

Приклад використання propertygrid в c #, development practice

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

Приклад використання propertygrid в c #, development practice

Приклад використання propertygrid в c #, development practice

Приклад використання propertygrid в c #, development practice

Вибір елемента із заданого списку.

Приклад використання propertygrid в c #, development practice

Робота з PropertyGrid досить проста, досить розібратися з основними моментами, які необхідно враховувати при його використанні. На цьому все, спасибі за увагу!

Навігація по публікаціям

Схожі статті