This version of the page http://lvivcommunity.net/?tag=/controls (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2008-06-11. The original page over time could change.
Lviv .NET Community - All posts tagged 'controls'
(Lviv community of .NET developers)
Home News
  • Archive
  • About
  • Conferences
  • |  
  • Sign in / Register

Recent posts

Построение Контролов, Part 7

августа 26, 2007 21:07 by alexk

Тема сериализации самая не понятная для большинства начинающих программистов. Сериализация как процесс делиться на две части: сериализация и десериализация. Второй процесс противоположен первому. Попробуем дать определение сериализации – это запись состояния контрола, т.е. сохранение настроек, контрола. Десериализация – процесс восстановления состояния контрола.

 

Сериализация и ее виды:

- бинарная

- XML сериализация

- SOAP сериализация

 

Механизмы .NET Framework, которые призваны обеспечить сериализацию классов (на базе Framework 2.0):

 

Binary serialization classes: BinaryFormatter, SerializableAttriubte, NonSerializableAttribute, ISerializable, IDeserializationCallback

Soap serialization classes: SoapFormatter, ISerializable, IDeserializationCallback

Xml serialization classes: XmlSerializer, IXmlSerializable, XmlElementAttribute,

 

BINARY

Работает в двух режимах: Автоматическая (на базе методанных класса) и ручная.

 

Автоматический

Для автоматического режима надо расставить над элементами, которые подлежат сериализации соответствующий атрибут, особенно напрягает момент, когда надо расставлять атрибуты которые исключают из сериализации элементы класса.

Известные недостатки: сериализируется информация о объекте, такая как версия assembly из которой он брался, что не позволяет реализовать backward compatibility… Скорость работы ниже ручной сериализации в разы (связано со скоростью работы с методанными/рефлексии).

... >>>

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: windows, forms, windows forms, controls, design, architecture, patterns
Categories: .NET | General | WinForms
Actions: Permalink | Comments (0) | RSS

Построение Контролов, Part 3

августа 26, 2007 20:02 by alexk

Layout - Part 2

И так посидел я дома и попробовал реализовать Layout своими силами :) устал писать.

Потому просто расскажу архитектуру и пару вариантов решений.

 

Факторы, которые надо учитывать при разработке Layout:

1)       Глобализация или локализационные возможности

a.       Left To Right

b.      Right To Left

c.       Bottom To Right (Japan, China)

2)       Вложенность разных layout менеджеров друг в дружку.

 

Идеи реализации (для начала картинки):

... >>>

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: windows, forms, windows forms, controls, design, architecture, patterns
Categories: .NET | General | WinForms
Actions: Permalink | Comments (0) | RSS

Построение Контролов, Part 2

августа 26, 2007 20:01 by alexk

Layout

Тематика Layout является одной из наиболее сложных для реализации.

Тяжело с первого раза определиться набором функциональности нужной для layout и тяжело достичь оптимальной производительности, легкости программирования и прозрачности работы.

 

И так Layout можно поделить на три основный категории:

  1. table или Grid layout
  2. flow layout
  3. resize

 Свойства контейнеров:

- padding (отступы от краев контейнера), также их можно интерпретировать как NC (Non-Client) площадь

- размер: width, height

 

начнем с последнего пункта: Resize

 

... >>>

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: windows, forms, windows forms, controls, design, architecture, patterns
Categories: .NET | General | WinForms
Actions: Permalink | Comments (0) | RSS

Построение Контролов, Part 6

августа 26, 2007 19:06 by alexk

Ну что-ж новая тема для изучения:

 

User Input

Пользовательский ввод данных можно разделить на несколько категорий: ввод через клавиатуру, управление мышью. (экзотику не рассматриваем)

Также имеются «искусственные» средства ввода/технологии, которые были созданы для удобства работы: Clipboard и Drag&Drop.

 

Keyboard

На уровне базового контрола имеется набор методов, которые помогут нам в этом. Я их разделил на две категории: низко уровневые и высоко-уровневые… (самые близкие аналоги: пользовательские и системные)ю

... >>>

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: windows, forms, windows forms, controls, design, architecture, patterns
Categories: .NET | General | WinForms
Actions: Permalink | Comments (0) | RSS

Построение Контролов, Part 5

августа 26, 2007 19:05 by alexk

Data Binding

 

Все контролы, присутствующие в фреймворке, стараются поддерживать технологию DataBinding – в переводе «подключение данных». Binding – подключение/связка.

 

Data Binding может присутствовать в двух видах: подключение пропертей (property binding), подключение источника данных (data source binding).

 

Базовая имплементация Data binding находиться на уровне класса Control и выражается в наличии коллекции DataBindings : ControlBindingsCollection. Это так называемы «первый уровень» поддержки data binding.

 

Более продвинутые классы поддерживают «второй уровень» работы с данными – работа с data source «коллекциями», и определятся по наличию проперти: object DataSource{ get; set; }.

Контролы с продвинутой поддержкой работают в основном с набором элементов, т.е. DataSource выступает в основном коллекция объектов.

Для примера: контрол ComboBox – «второй уровень» data binding задается пропертями: DataSource, DisplayMember, ValueMember. Контрол отображает список элементов из data source коллекции.

... >>>

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: windows, forms, windows forms, controls, design, architecture, patterns
Categories: .NET | General | WinForms
Actions: Permalink | Comments (0) | RSS

Построение Контролов, Part 4

августа 26, 2007 19:03 by alexk

Layout - Part 3

Продолжим...

Задача layout менеджера правильно разместить элементы в области клиент rectangle. Но это только пол дела.

Размещенье элементов должно работать в обратную сторону, т.е. по точке из области клиентского прямоугольника получить элемент занимающий/включающий заданную точку... Этот процесс называется: Hit Test

 

Возможности реализации hit test классов, которые по заданной точке вернут элемент:

1)       использовать метод сеченья

a.      

 

... >>>

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: windows, forms, windows forms, controls, design, architecture, patterns
Categories: .NET | General | WinForms
Actions: Permalink | Comments (0) | RSS

Построение Контролов, Part 1

августа 26, 2007 19:00 by alexk

По диаграмме видно из каких частей состоит контрол, и следовательно будет тяжело теперь забыть что-то сделать.

Эта диаграмма показывает из чего состоит «нормальный» контрол. Если пишите свой контрол просьба учитывать это все.

Части, которые в основном должен реализовывать пользователь сам, это:

- Clipboard

- Drag&Drop

- Serialization

Все остальное является неотъемлемой частью контрола и реализуется нами.

 

В будущем попробую рассказать о каждом уровне отдельно и также дать линк на наши наработки по каждой конкретной теме/ветке.

Если есть желающие помочь - You are welcome.

Было бы не плохо включать сразу части книг, статьи, которые описывают разные моменты создания контролов.

На основе этой информации в дальнейшем планируется создать курс «молодого бойца» обязательный к изучению....


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags: windows, forms, windows forms, controls, design, architecture, patterns
Categories: .NET | General | WinForms
Actions: Permalink | Comments (0) | RSS