Объявление, настройка для одной или нескольких форм, пример использования HighLighter
HighLighter
- компонент, обеспечивающий подсветку активного контрола на форме.
Объявление
Для его использования HighLighter
в проекте должна быть ссылка на сборку ICSSoft.STORMNET.Windows.Forms.AdditionalControls
В скобки программиста CustomMembers
поместить код:
// Объявление HighLighter'а HL
ICSSoft.STORMNET.Windows.Forms.HighLighter HL;
В конструкторе зависимой формы:
// Создание объекта
HL = new ICSSoft.STORMNET.Windows.Forms.HighLighter(this);
// Задание цвета подсветки
HL.HighlightColor = System.Drawing.Color.FromArgb(150, 255, 150);
В конструкторе независимой формы:
// Создание объекта
HL = new ICSSoft.STORMNET.Windows.Forms.HighLighter(form);
// Задание цвета подсветки
HL.HighlightColor = System.Drawing.Color.FromArgb(150, 255, 150);
Также можно настроить подсветку для нескольких форм сразу. Для этого необходимо следующее:
- В самом начале приложения подписаться на событие загрузки формы посредством
Desktop.GlobalWinformEvents.Load
. - Определить список
changingFormTypes
, куда записываются типы форм, для которых необходимо организовать подсветку. - В обработчике включить подсветку.
Настройка производится в приложении.
Пример
[AccessType(ICSSoft.STORMNET.AccessType.none)]
public class TestStandWinformsDesktop : ICSSoft.STORMNET.Windows.Forms.Desktop
{
...
// *** Start programmer edit section *** (TestStandWinformsDesktop CustomMembers)
/// <summary>
/// Список форм, для которых настроена подсветка и переход по Enter.
/// </summary>
private static List<Type> changingFormTypes = new List<Type>()
{
typeof(IIS.TestStandWinforms.WinformДомHighLighter),
};
/// <summary>
/// Обработчик события загрузки формы.
/// Используется для подписки необходимых форм на подсветку.
/// </summary>
/// <param name="sender">Инициатор события, форма.</param>
/// <param name="e">Параметры события.</param>
static void GlobalWinformEvents_Load(object sender, EventArgs e)
{
if (changingFormTypes.Contains(sender.GetType()))
{
Form currentForm = (Form)sender;
ICSSoft.STORMNET.Windows.Forms.HighLighter HL;
// Создание объекта
HL = new ICSSoft.STORMNET.Windows.Forms.HighLighter(currentForm);
HL.SubscribeHighliterManually();
// Задание цвета подсветки
HL.HighlightColor = System.Drawing.Color.FromArgb(150, 255, 150);
}
}
// *** End programmer edit section *** (TestStandWinformsDesktop CustomMembers)
...
[STAThread()]
static void Main()
{
try
{
// *** Start programmer edit section *** (TestStandWinforms Before authorization)
// Подписываемся на загрузку формы.
Desktop.GlobalWinformEvents.Load -= GlobalWinformEvents_Load;
Desktop.GlobalWinformEvents.Load += GlobalWinformEvents_Load;
...
// *** End programmer edit section *** (TestStandWinforms Before authorization)
...
}
}
HighLighter
подписывается на события OnGotFocus
и OnLostFocus
объектов формы и меняет их свойство BackColor
на свой и обратно при срабатывании.
Результат
Сравнение одной и той же формы с включенным Highlighter
и без:
Без Highlighter’a | С Highlighter’ом |
---|---|