十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
都300G了,你要考虑你硬件的读写速度,你用手动复制一次 看系统提示的预估时间大概是多久,你可以创建另外的进程 或者 线程去执行拷贝
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都做网站、永州网络推广、微信小程序开发、永州网络营销、永州企业策划、永州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供永州建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
你把
TextBox1.AppendText(SerialPort1.ReadExisting)
替换成
TextBox1.AppendText(SerialPort1.ReadLine)
SerialPort1.DiscardInBuffer()
试试看
我之前用ReadExisting也遇到过类似情况,后来换成ReadLine就可以了
Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
TextBox1.AppendText(SerialPort1.ReadLine)
SerialPort1.DiscardInBuffer()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If SerialPort1.IsOpen Then
SerialPort1.DiscardInBuffer() '清除数据接收区
SerialPort1.DiscardOutBuffer() '清除数据发送区
End If
TextBox1.Clear()‘清屏
并没有看出什么地方可能导致程序假死,这排版也太乱了.不妨调试一下程序,当出现你说的"假死"后暂停一下程序,看看线程都卡在哪里.
另外,从设计上来看,你这里并不需要多线程操作.
原因很简单
你是定义了一个T的新线程,但是很可惜你在BeginDoSub这个独立的线程中又定义了一个deSomeSub的委托,并且直接用Me.Invoke把实际的执行任务提交给界面主线程运行了
所以你的图片的处理函数实际上是在主线程中运行的,新线程等于没用
正确的作法是,T定义为SomeSub这个函数为入口的线程,并启动它
在界面进度条更改的时候再使用Invoke来调用委托来进行界面更改。
Sub bc()
Dim cs As New qq163(AddressOf js)
Application.DoEvnts
Invoke(cs)
End Sub
感觉问题出在
Form2.Show() '启动倒计时显示窗口
这一句上。
这一句应该只需要执行一次就行了。
把它放在timer中,多次调用,造成假死。