Задержка при вызове событий OnMouse()

129
21 мая 2018, 15:00

Создал собственный 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 проекте?

Answer 1

С задержкой происходит событие Hover. Это его стандартное поведение.

Полагаю, вам нужно заменить OnMouseHover на OnMouseEnter - это событие будет срабатывать сразу же.

READ ALSO
Не работает MetroMessageBox

Не работает MetroMessageBox

У MetroMessageBox нет метода ShowMetroFrameWork установлен и подключен

186
Проблема при вычислении хэша

Проблема при вычислении хэша

Вычисляю HMAC SHA1, алгоритм следующий:

148
C# WPF дизайн для локализации

C# WPF дизайн для локализации

Как контролировать изменение дизайна при изменении длины слов? На некоторых языках слова очень длинные в переводе, как сохранить дизайн...

190
HEX ключ в .pem файл

HEX ключ в .pem файл

У меня есть закрытый и открытые тестовые ключи в виде массивов байт(ну или HEX строки, без разницы)Хочу на тестовых ключах проверить правильность...

165