社区
C#
帖子详情
如何解决WinForm中控件闪烁的问题?
tlowl
2006-10-31 02:16:02
客户嫌我们的系统在页面切换时控件闪得厉害,我们控件是放在top、fill、bottom三个panel上,现在在改panel已经来不及了,各位大虾有没有什么好办法能解决这个问题
...全文
701
13
打赏
收藏
如何解决WinForm中控件闪烁的问题?
客户嫌我们的系统在页面切换时控件闪得厉害,我们控件是放在top、fill、bottom三个panel上,现在在改panel已经来不及了,各位大虾有没有什么好办法能解决这个问题
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ilove8
2006-11-06
打赏
举报
回复
double buffer
cansum396
2006-11-06
打赏
举报
回复
private void Frm_Load(object sender, System.EventArgs e)
{
this.SuspendLayout();
....
this.ResumeLayout(false);
}
tlowl
2006-11-01
打赏
举报
回复
是不是C#做Form本身就慢?Java做Form也没有这么闪
灰太狼
2006-11-01
打赏
举报
回复
讓客戶換好機子。
maotroy
2006-10-31
打赏
举报
回复
datagrid,如果设置了dock属性后,窗体切换会很奇怪的问题,特别是多个mdi子窗体的那种情况
可以考虑在失去焦点和获得焦点时,改变dock属性,当然还需要在改变时根据实际大小来调整宽与高
huing
2006-10-31
打赏
举报
回复
双缓存不行?
jijl2001
2006-10-31
打赏
举报
回复
你在页面切换的时候锁定窗体,等更新完毕后显示
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "LockWindowUpdate")]
public static extern int LockWindowUpdate(IntPtr hwndLock);
调用
LockWindowUpdate(tabControlPanel2.Handle);
LockWindowUpdate((IntPtr)0);
tlowl
2006-10-31
打赏
举报
回复
DoubleBuffered置为ture也不好用,客户要求dataGrid必须充满中间的panel,看来只能手动设置panel的大小了。上MSDN查了一下,看来这是微软Form的普遍问题,这点微软做得不太好
GXY2005
2006-10-31
打赏
举报
回复
1.開啟雙緩沖DoubleBuffered
2.數據刷新采用梆定數據源
3.修改顏色,不要差別太大
路人霆
2006-10-31
打赏
举报
回复
将其DoubleBuffered置为ture试试。
maotroy
2006-10-31
打赏
举报
回复
突然想到,可能是dock属性造成的
或者你使用了datarid,并且设置了dock属性?
everyltt
2006-10-31
打赏
举报
回复
不太明白你的意思,用TabControl试试?把控件放在每个TabPage上面?
maotroy
2006-10-31
打赏
举报
回复
修改背景色也许可以应急
相关推荐
WinCe多线程访问
winform
中
控件
WinCe多线程访问
winform
中
控件
能否防止异常
关于C#UserControl
闪烁
的
问题
Winform
在单个UserControl
中
控件
布局过多,在加载的时候就会出现页面
闪烁
的
问题
。网上也查了很多资料,有很多涉及到BufferedGraphics,双缓冲,重写
控件
,以及将构造函数
中
的东西都放在Form_Load
中
,然而都没有什么卵用。最后发现重载CreateParams可以做到,而且不是网上大部分写的只对WS_EX_COMPOSITED进行处理。
解决
方法如下: 在容器Form...
TableLayoutPanel容器
中
控件
过多时显示出现
闪烁
的
解决
方案
通过反射技术,我们可以给某对象的私有属性赋值,
解决
TableLayoutPanel容器
中
控件
过多时显示出现
闪烁
的
问题
,需要设置容器的双缓冲属性。在窗体加载事件
中
添加以下代码:
c#
中
使用多线程访问
winform
中
控件
的
问题
c#
中
使用多线程访问
winform
中
控件
的
问题
我们在做
winform
应用的时候,大部分情况下都会碰到使用多线程控制界面上
控件
信息的
问题
。然而我们并不能用传统方法来做这个
问题
,下面我将详细的介绍。 首先来看传统方法: public partial class Form1 : Form { public Form1()
c#
中
使用多线程访问
winform
中
控件
的若干
问题
.doc
c#
中
使用多线程访问
winform
中
控件
的若干
问题
.doc
发帖
C#
C#
.NET技术 C#
复制链接
扫一扫
10.9w+
社区成员
64.2w+
社区内容
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2006-10-31 02:16
社区公告
让您成为最强悍的C#开发者