Создал собственный Control
для всех кнопок, чтобы все кнопки имели графический вид. Пример кода:
public class FlatButton : Control
{
/// <summary>
/// Backaground for non active button.
/// </summary>
public Image backgroundNormal { get; set; }
/// <summary>
/// Background for active button.
/// </summary>
public Image backgroundActive { get; set; }
/// <summary>
/// Background for hover/pressed button.
/// </summary>
public Image backgroundHover { get; set; }
public FlatButton()
{
// Nothing
}
protected override void OnMouseLeave(EventArgs e)
{
base.OnMouseLeave(e);
base.BackgroundImage = backgroundNormal;
}
protected override void OnMouseHover(EventArgs e)
{
base.OnMouseHover(e);
base.BackgroundImage = backgroundHover;
}
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
base.BackgroundImage = backgroundActive;
}
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp(e);
base.BackgroundImage = backgroundHover;
}
}
Однако в приложении замечена задержка (где-то 300-400 мс) на вызов всех событий OnMouse()
. Возможно ли её убрать в WinForms
проекте?
С задержкой происходит событие Hover
. Это его стандартное поведение.
Полагаю, вам нужно заменить OnMouseHover
на OnMouseEnter
- это событие будет срабатывать сразу же.
У MetroMessageBox нет метода ShowMetroFrameWork установлен и подключен
Как контролировать изменение дизайна при изменении длины слов? На некоторых языках слова очень длинные в переводе, как сохранить дизайн...
У меня есть закрытый и открытые тестовые ключи в виде массивов байт(ну или HEX строки, без разницы)Хочу на тестовых ключах проверить правильность...