这种题是asked很多次。
但出于某种原因,它没有按预期工作!
我正在使用 vlc在 Panel(Control) 中,然后在 vlc 控件顶部放置一个标签。
我希望标签的背景是透明的。我使用了下面的代码
label1.Parent = vlcControl1;
label1.backColor = Color.Transparent;
这里的问题是标签显示,直到 vlc 不播放任何媒体。
一旦我播放媒体文件,标签就会隐藏。
我也试过
label1.bringToFront();
label1.Visible=true;
如果我停止 vlc 播放视频文件 vlcControl1.Stop();
标签将可见。
最佳答案
Windows Forms 版本存在空域问题,我不知道可用的解决方法。
对于 WPF 版本,这是 VlcDotNet 最新版本的一个已知问题:Wpf VlcControl seems to ignore ZIndex和 VlcControl is always on the top of my window这是因为 WPF VLC 控件是一个显示 Windows 窗体控件的 HwndHost。
已知的替代方案应该是,使用 WPF 和:
- 使用旧版本的 VlcDotNet(1.2.0.0 版本没有 空域问题)
- 使用带有纯 WPF 的替代控件 实现,例如 Meta.Vlc
- 实现解决方法 空域问题,例如AirspacePopup
关于c# - 在叠加视频(VLC Winform)上绘制透明控件(文本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40704940/