首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

:画面中有很多自定义控件,显示时产生缓慢的刷新。怎么让控件整体一起显示出来的

2012-01-19 
请教高手:画面中有很多自定义控件,显示时产生缓慢的刷新。如何让控件整体一起显示出来的?要求做成:--------

请教高手:画面中有很多自定义控件,显示时产生缓慢的刷新。如何让控件整体一起显示出来的?
要求做成:
--------------------
人名
--------------------
星期一
--------------------
7月15号
--------------------
事件一 |
事件二 |
事件三 |
事件四 |

--------------------
而且一个form里可能显示很多个这样的信息块。
1.请问这最好用什么去实现功能?

2.如果没有其他好的方法就只能用dotnet的标准控件去做,这样在显示的时候就会碰到刷新很慢的情况。
怎么去让其表现的很自然呢?


[解决办法]
能不能先把所有控件值都获取完再一起滚动
[解决办法]
试下SuspendLayout,ResumeLayout
[解决办法]
我也经常动态生成几十个控件,生成时还要去读取数据库.不是很慢呀.
[解决办法]
呵呵,没研究过。不过你可以Load后先Hide嘛,搞完了再Show
[解决办法]
先Me.show()呢?
[解决办法]
.net程序执行速度就是慢,没办法,你选择了它开发时的高效率就得忍受它运行时的低效率
[解决办法]
碰到问题,先要想想问题的原因,而不仅仅是解决方案,这是程序员容易舍本求末的错误!

我们经常碰到一个界面中,有几十个甚至上百个控件,如果都是直接拖到窗体上的系统控件,没有一点延时现象,为什么?
而你说的这种情况,又是为什么?
仔细想想以上问题,就会明白.

将控件直接拖到窗体上时,这个控件下窗体上的位置基本是订死了的
但如果你有自定义控件,自然就会产生刷新问题,这个刷新不是你使用一二条语句就能解决得了的.

以上思路表明,你也得把你的自定义控件在窗体上订死,但既然是自定义控件,怎么订死呢,办法是人想出来的!
新建一个Panel,把你的所有自定义控件放在此Panel,属性事件全部定义完毕,然后直接把Panel放到窗体上

Ok了,一点刷新延时的感觉都不会有.
结贴吧!
[解决办法]
15楼方案不错

VB.NET code
  Private Sub Form_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown        Dim Myanel As New Panel        Myanel.Dock = DockStyle.Fill        '定义用户控件1属性.....        Myanel.Controls.Add(用户控件1)        Myanel.Controls.Add(......)        Myanel.Controls.Add(用户控件N)        Me.Controls.Add(Myanel)    End Sub 

热点排行