如何不让Form频繁刷新?

cyndy_wood 2008-05-13 04:24:46
请教高人:
在Form上安放多个Text,以下情况时Form都要自动刷新,导致视觉上有刷屏的感觉:
(1)载入窗体,显示窗体时;
(2)当其中每个Text数据变更时。
特别是在第2种情况下,有办法不让窗体在每一次数据变化时刷新吗?而是全体Text集体变化一次后,
统一刷新?
或者,隔一段时间刷新一次?
频繁刷新的结果,会导致程序运行缓慢,狂晕!~0`
...全文
193 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
足球中国 2008-05-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lzmtw 的回复:]
切,是Enabled
[/Quote]
LYDF4151 2008-05-13
  • 打赏
  • 举报
回复
me.suspendlayout()

cyndy_wood 2008-05-13
  • 打赏
  • 举报
回复
Form双缓冲,如何做到?
可否贴出代码看看?
cyndy_wood 2008-05-13
  • 打赏
  • 举报
回复
Enabled 会让窗体灰化?然后Enabled=True再将设置后的Textbox显示出来,对吗?
整个设置过程,窗体有颜色变化?
quanwuling 2008-05-13
  • 打赏
  • 举报
回复
试试双缓冲。虽说图片里面经常用到,但也可以在Form里面试试。
水如烟 2008-05-13
  • 打赏
  • 举报
回复
切,是Enabled
水如烟 2008-05-13
  • 打赏
  • 举报
回复
你可以参考一下Form.SuspendLayout:

控件的布局逻辑被挂起,直到调用 ResumeLayout 方法为止。

当调整控件的多个属性时,将先后使用 SuspendLayout 和 ResumeLayout 方法取消多个 Layout 事件。例如,通常先调用 SuspendLayout 方法,然后设置控件的 Size、Location、Anchor 或 Dock 属性,最后调用 ResumeLayout 方法以使更改生效。

要成功调用 ResumeLayout,一定不能有挂起的对 SuspendLayout 的调用。

注意:
将多个控件添加到父控件时,建议在初始化要添加的控件之前调用 SuspendLayout 方法。将控件添加到父控件之后,调用 ResumeLayout 方法。这样就可以提高带有许多控件的应用程序的性能。

再参考一下Form.Enable
通过 Enabled 属性,可以在运行时启用或禁用控件。例如,可以禁用对应用程序的当前状态不适用的那些控件。还可以禁用一个控件,以限制其使用。例如,可以禁用一个按钮,以防止用户单击它。如果控件被禁用,就无法选中它。

重要说明:
将 Enabled 属性设置为 false 不会禁用应用程序的控件框或禁止应用程序窗口接收焦点。


当将一个容器控件的启用属性设置为 false 时,其包含的所有控件也都被禁用。例如,如果用户单击被禁用的 GroupBox 控件包含的任何控件,不会引发任何事件。


如:
Form.Enable = False
'这里置txtBox值
Form.Enable = True

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧