在C# winfrom项目中,有两个form窗体(form1、form2),在form1中显示监控视频图像实时画面。 |
|
5分 |
应该是 form1中显示监控视频图像实时画面 造成的假象
|
有没有办法解决吗? |
|
不重叠放 不就行了 |
|
你的意思是,不要在form1窗体中弹出form2窗体? |
|
5分 |
设置了下MDI容器试试
|
其实form1窗体与form2窗体不是父子窗体的关系。只是将form2窗体在form1窗体中显示而矣。 |
|
p_id->Caption里面的p_id应该是一个结构体吧
|
|
呵呵,我发错了,你的问题我没有遇见过,送一我也不知道怎么解决,坐等楼下大神
|
|
5分 |
form2 显示在 form1 中,所以 form1 的画面被刷新时 form2 的画面也要跟着刷新
如果 form1 的刷新速度小于每秒10帧,那么 form2 出现闪烁是必然的(人的平均视觉残留是0.1秒,电影用每秒24帧来保障画面的流畅) 因此你可在 2 帧之间插入一帧(正在显示的那帧),让刷新频率提高来减少闪烁感 |
楼上看看具体代码实现吗
|
|
拦截背景刷新,处理一下winproc,或者设置CreateParams
http://www.cnblogs.com/Charltsing/p/WinFormNoFlicker.html |
|
处理一下wndproc
|
|
能不能提供下相关的源码参考下,或者请问各位还有没有简单实用办法的解决此问题。谢谢。 |
|
应该是刷新的问题。
没遇到过。只能帮顶了。 |
|
没人知道吗?
|
|
学习。。。。
|
|
这段代码可以减少窗体切换时的闪动
protected override CreateParams CreateParams 相当于先开辟一块空间来加载当前窗体中的数据,然后同时显示,但速度回慢零点几秒,不会闪动。 |
|
5分 |
不要使用背景,用一个picturebox放在最底层就好了 。
|
你说的,能不能再具体点。谢谢。 |
|
启动窗体 的 双缓冲。
|
|
设置窗体的doublebuffer为true,是这样设置吗? |
|
在一个窗体内, 调用另一个窗体, 在创建时的背景图, 控件等闪烁, 启用双缓冲是没用的, 我也网上找了N种解决方案, 都不行
不过, 在被调用的窗体中, 不加载背景图, 而换成比如指定颜色, 这样会好很多. |