Нюансы работы с компонентом WindowsMediaPlayer

203
01 февраля 2018, 15:21

При работе с компонентом WindowsMedaiPlayer столкнулся со странной особенностью: мне нужно чтобы при одиночном клике по компоненту он разворачивался на полный экран и при повторном клике он сворачивался в прежнее положение. Так вот, когда я в первый раз кликаю, то событие срабатывает, а когда кликаю второй раз - событие на клик не обрабатывается. Привожу код:

private void axWindowsMediaPlayer1_Enter(object sender, EventArgs e)
{
    if (flag_video == 0)
    {
        if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsPlaying)
        {
            axWindowsMediaPlayer1.fullScreen = true;
        }
        flag_video = 1;
    }
    else if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsPlaying)
    {
        axWindowsMediaPlayer1.fullScreen = false;
        flag_video = 0;
    }
}

Как можно исправить?

P.S. На обработку события на клик я вешал и просто вывод сообщения - все равно при повторном клике событие не обрабатывается.

Answer 1

Почему вы говорите про клик на компоненте, а сами в коде демонстрируете событие Enter? Если нормально вешать клик, то все прекрасно работает. И да, ваш код можно сократить до двух строк.

private void axWindowsMediaPlayer1_MouseDownEvent(object sender, AxWMPLib._WMPOCXEvents_MouseDownEvent e)
{
    if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsPlaying)
        axWindowsMediaPlayer1.fullScreen = !axWindowsMediaPlayer1.fullScreen;
}

P.S. Только все равно вы забиваете данным решением функциональность плеера, так как невозможно будет щелкать по кнопкам плеера. Чем вас не устроил стандартный функционал на далб клик?

READ ALSO
Входящие параметры метода Dictionary

Входящие параметры метода Dictionary

Столкнулся с проблемой, когда метод принимает входящие параметры коллекции словаря, подскажите пожалуйста, как осуществить передачу параметров...

254
ASP NET MVC медленно работает сайт

ASP NET MVC медленно работает сайт

Имеется сайт MVC+ БД MySQL - все это вертится на хостинге regru

249
Запретить отправку сообщений сокету

Запретить отправку сообщений сокету

В цикле идет обработка входящих сообщений и при необходимости отправка ответаНо возникают ситуации, когда отправлять ответ не нужно

234
Получить индекс перечисления

Получить индекс перечисления

Имеется перечисление вида:

160