При работе с компонентом 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. На обработку события на клик я вешал и просто вывод сообщения - все равно при повторном клике событие не обрабатывается.
Почему вы говорите про клик на компоненте, а сами в коде демонстрируете событие Enter? Если нормально вешать клик, то все прекрасно работает. И да, ваш код можно сократить до двух строк.
private void axWindowsMediaPlayer1_MouseDownEvent(object sender, AxWMPLib._WMPOCXEvents_MouseDownEvent e)
{
if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsPlaying)
axWindowsMediaPlayer1.fullScreen = !axWindowsMediaPlayer1.fullScreen;
}
P.S. Только все равно вы забиваете данным решением функциональность плеера, так как невозможно будет щелкать по кнопкам плеера. Чем вас не устроил стандартный функционал на далб клик?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости