2016-11-20 7 views
1

Этот вопрос asked много раз.
но по какой-то причине не работает должным образом!
Я использую vlc в панели (Control), а затем поместил метку поверх элемента управления vlc. Я хочу, чтобы фон ярлыка был прозрачным. я использовал ниже кодрисовать прозрачное управление (текст) на накладывающемся видео (VLC Winform)

label1.Parent = vlcControl1; 
    label1.backColor = Color.Transparent; 

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

label1.bringToFront(); 
    label1.Visible=true; 

, если я остановить VLC от воспроизведения видеофайла vlcControl1.Stop(); метку, то будет видно.

+0

Наложение видео может занять дополнительное окно. – TaW

+0

@TaW любой обходной способ для наложения текста на видео? –

+0

Существует множество способов использования элемента управления VLC в проекте C#. Что вы используете? –

ответ

3

Версия Windows Forms имеет проблему воздушного пространства, и я не знаю доступных обходных решений для ее решения.

Для версии WPF это известная проблема последней версии VlcDotNet: Wpf VlcControl seems to ignore ZIndex и VlcControl is always on the top of my window Это происходит, поскольку элемент управления WPF VLC представляет собой HwndHost, отображающий элемент управления Windows Forms.

Известных альтернативы должны быть, с использованием WPF и:

  1. Используйте старую версию VlcDotNet (версия 1.2.0.0 имеет не проблема воздушного пространства)
  2. Используйте альтернативное управление с чистым WPF реализации, например Meta.Vlc
  3. Реализовать обходной путь для рассмотрен вопрос воздушного пространства, например AirspacePopup