成都网站建设设计

将想法与焦点和您一起共享

vb.net界面刷新慢 vba刷新窗体

vb.net 动态添加大量控件严重卡顿怎么办

这是不可避免的,除非更换电脑硬件,让处理器及内存处理得更快,或是不要用自带的 Panel 和 Label 控件,自定义一个容器,内容自绘。

创新互联公司自2013年起,先为马村等服务建站,马村等地企业,进行企业商务咨询服务。为马村企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

卡顿主要原因:

1、控件多了,电脑必然会慢,因为在 Windows 里每个控件都相当于一个窗口,有自己的句柄,系统需要维护对应的窗口消息,那么一定会卡顿,只能缓解不能消除。

2、可以用多线程,在子线程中更新控件,通过委托的方式通知主线程,可以有效缓解卡顿的问题。

Vb.net,多线程,新线程启动后,界面响应变慢,但可以相应,怎么解决?

以下是在多线程中显示进度条代码

'定义一个委托

Delegate Sub dl_ShowProgress(ByVal iValue As Integer)

Public Sub ShowProgress(ByVal iValue As Integer)

If ProgressBar1.IsDisposed Then

Return

End If

If ProgressBar1.InvokeRequired = True Then

Dim pInvoke As New dl_ShowProgress(AddressOf ShowProgress)

Me.Invoke(pInvoke, New Object() {iValue})

Else

ProgressBar1.Value = iValue

ProgressBar1.Refresh()

End If

End Sub

'在多线程中调用ShowProgress(*)函数

使用vb.net接收大量串口数据时,界面卡顿

上位机软件接收大量数据并显示,会造成界面卡顿,可采用双缓冲技术,即将数据存到内存,再将其绘制到界面,比将数据直接绘制到界面要省很多时间

添加在子进程里面,就加在你批量传输代码里的每一个传输后面,也就是大批量中的每传输一个数据就暂停一下,而不是每一个大批量才暂停一下。


本文标题:vb.net界面刷新慢 vba刷新窗体
分享路径:http://chengdu.cdxwcx.cn/article/dddpsgi.html