我正在使用DirectShow.NET库[http://directshownet.sourceforge.net/],我使用下面的代码来显示视频流。
videowindow.put_Owner(handle);
videowindow.put_WindowStyle(WindowStyle.Child | WindowStyle.ClipChildren);
videowindow.put_WindowState(DirectShowLib.WindowState.Show);
注意:句柄是System.Windows.Forms.UserControl句柄[this-> Handle]
问题是:
这可能是什么原因造成的?我该如何解决?
更新
根据罗马答案,我添加了以下代码:
videoWindow.SetWindowPosition(this.ClientRectangle.Left,
this.ClientRectangle.Top,
this.ClientRectangle.Width,
this.ClientRectangle.Height);
现在我能够正确地在用户控制矩形中看到视频帧....
答案 0 :(得分:1)
除了将视频渲染器的窗口作为子控件并提供窗口类型之外,您还应该设置IVideoWindow.SetWindowPosition
。当窗口布局发生变化时,您还有责任更新它。