Подписка на RSS

Автозавершение слов в NET FRAMEWORK

В своих приложениях я стараюсь как можно реже заставлять пользователя обращаться к клавиатуре (на ней так много разных кнопочек… лучше мышкой щелкать). Однако иногда без нее не обойтись и, поскольку искусством машинописи владеют далеко не все, приходится по возможности уменьшать количество нажатых пользователем клавиш, что не только увеличивает его производительность, но и уменьшает вероятность ошибок при вводе текста.

До выхода в свет Net Framework 2.0 автозавершение слов в textbox’ах приходилось реализовывать самостоятельно, теперь же это встроенная возможность. За автозавершение слов отвечают свойства AutoCompleteSource, AutoCompleteMode и AutoCompleteCustomSource редактора textbox.

Первое задает источник строк, которые будут предложены пользователю. Возможные значения задаются одноименным перечислением. Наиболее интересным является AutoCompleteSource.CustomSource, поскольку позволяет использовать собственный список слов, который должен быть задан в свойстве AutoCompleteCustomSource.

Свойство AutoCompleteMode задает режим автозавершения слов, возможные значения: Append, None, Suggest и SuggestAppend.
(далее…)

Сохранение ширины и порядка следования столбцов в DataGridView

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

За разрешение изменять ширину столбца отвечает свойство AllowUserToResizeColumns элемента управление DataGridView, которое по умолчанию установлено в true. Поэтому, если просто поместить компонент DataGridView на форму, пользователь сможет изменять ширину столбцов по своему усмотрению. Однако, если приложение будет закрыто, то все изменения будут потеряны и, при последующем запуске программы, ширина столбцов будет установлена до размеров, заданных программистом во время разработки программы.

Для того, чтобы устранить это досадное «недоразумение» необходимо предусмотреть сохранение ширины столбцов при закрытии приложения и восстановление ее при запуске программы. Раньше для этих целей использовался реестр Windows, теперь же принято «гадить» в профиле пользователя. Хранение параметров приложения в конфигурационном в каталоге с исполняемым файлом плохая идея: есть люди, работающие под учетной записью, не обладающей правами администратора (их немного, но они есть ;), для которых запись в Program Files запрещена (справедливо для файловой системы NTFS).
(далее…)

Чересстрочная подсветка в DataGridView

Когда речь заходит об отображании табличных данных на форме, первое что приходит в голову — это использовать элемент управления DataGridView, обладающий поистине огромными возможностями (см. статью http://www.rsdn.ru/article/dotnet/datagridview20.xml). Но, как говорит Жванецкий, есть нюанс. Дело в том, что при отображении большого числа строк, пользоваться этим контролом несколько неудобно: строки сливаются, глаз то и дело перескакивает на соседнюю строчку. Во многих платных компонентах есть чересстрочная подсветка, суть которой — использование разных цветов фона для соседних строк.

Реализовать такое поведение DataGridView можно двумя способами.

(далее…)