Показаны сообщения с ярлыком C#. Показать все сообщения
Показаны сообщения с ярлыком C#. Показать все сообщения

воскресенье, 22 января 2017 г.

C#. Создаем универсальный TextBox с кнопкой

Данный контрол (с возможными незначительными изменениями) добавлен в библиотеку Net.KSUniLib с версии 1.0.3.19.

Namespace: KomeSoftUniCL.Controls.DataBases
Class: KSDBSelectTextBox

Сегодня мы будем создавать интересный контрол, представляющий собой TextBox и встроенной кнопкой:







Такие контролы используются, в основном, в программах, работающих с базами данных. Однако, путем универсализации его функционала, его ареал использования можно существенно расширить.

Итак, что нам нужно от такого контрола?
1) Открытие какой-либо формы в модальном режиме. Какая форма будет открываться, контрол не знает, и какие данные форма будет возвращать, контрол тоже представлять не будет.
2) Вызов диалога открытия файла. Да, реализовать подобный функционал в коде на C# несложно, и примеров в сети по данному вопросу гора. Но согласитесь, если тоже самое можно сделать установкой одного свойства в контроле - это удобно.
3) Вызов диалога сохранения файла. Аргументы те же, что и в п.2.
4) Вызов диалога выбора директории.

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