Foxtable(狐表)用户栏目专家坐堂 → 窗体闪烁请教


  共有4630人关注过本帖树形打印复制链接

主题:窗体闪烁请教

帅哥哟,离线,有人找我吗?
hbhb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
窗体闪烁请教  发帖心情 Post By:2014/6/16 13:22:00 [只看该作者]

请教大师:
页面控件的不同页面放上图片后,切换不用页面如何减少界面的闪烁?

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/6/16 13:24:00 [只看该作者]

停止绘制 

 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2014/6/16 13:50:00 [只看该作者]

手工按钮切换如何停止绘制?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/16 13:56:00 [只看该作者]

 试试用双缓存

 

Dim p1 As WinForm.Panel = e.Form.Controls("Panel1")
Dim p2 As WinForm.Panel = e.Form.Controls("Panel2")
p1.baseControl.Gettype().GetProperty("DoubleBuffered",  Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue(p1.baseControl,True,Nothing)
p2.baseControl.Gettype().GetProperty("DoubleBuffered",  Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue(p2.baseControl,True,Nothing)

 


 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2014/6/16 14:20:00 [只看该作者]

甜大师:您的意思是在每个页面上增加面板?
以上代码写在哪里?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/16 14:21:00 [只看该作者]

 意思是你替换成对应的控件。

 

 写在afterload事件。

[此贴子已经被作者于2014-6-16 14:21:24编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2014/6/16 14:40:00 [只看该作者]

还是没用

图片控件是不是容器?上面放置命令按钮行不行?

主窗体上放置分区面板,再放置图片框,再放放置命令按钮,页面切换时闪动得厉害,请问如何处理?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/16 14:41:00 [只看该作者]

 做个例子传上来。

 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2014/6/16 14:52:00 [只看该作者]

请指教
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/16 15:40:00 [只看该作者]

没找到好办法,把所有控件都加上双缓存了。有一些代码是不必要的,你根据效果删除对应的控件的双缓存即可。

 

Dim p1 As WinForm.Panel = e.Form.Controls("Panel1")
p1.baseControl.Gettype().GetProperty("DoubleBuffered",  Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue(p1.baseControl,True,Nothing)

Dim p2 As WinForm.SplitContainer = e.Form.Controls("SplitContainer1")
Dim p3 As object= p2.Panel1
Dim p4 As object = p2.Panel2
p2.baseControl.Gettype().GetProperty("DoubleBuffered",  Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue(p2.baseControl,True,Nothing)
p3.baseControl.Gettype().GetProperty("DoubleBuffered",  Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue(p3.baseControl,True,Nothing)
p4.baseControl.Gettype().GetProperty("DoubleBuffered",  Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue(p4.baseControl,True,Nothing)

Dim p5 As WinForm.PictureBox = e.Form.Controls("PictureBox1")
p5.baseControl.Gettype().GetProperty("DoubleBuffered",  Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue(p5.baseControl,True,Nothing)

Dim p6 As WinForm.TabControl = e.Form.Controls("TabControl1")
p6.baseControl.Gettype().GetProperty("DoubleBuffered",  Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue(p6.baseControl,True,Nothing)

Dim p7 As object = p6.basecontrol
p7.tabpages(0).Gettype().GetProperty("DoubleBuffered",  Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic).SetValue(p7.tabpages(0),True,Nothing)


 回到顶部
总数 12 1 2 下一页