vb.net中开一个线程,直到新窗体启动完成

PrivateSubPictureBox2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handl... Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click
PictureBox5.Show()
Application.DoEvents()
Form6.Show()
Me.Close()
End Sub
代码如上,现在 我点击PICTUREBOX2 启动form6的时候 picturebox5显示的gif动画图片不动, 跟假死一样,如果中间加 msgbox对话框后 图片就会动了 现在是不是要开一个线程 如何开呢
我QQ1971951508,高手指点一下,我现在在线中,急等
展开
 我来答
手机用户26775
2011-06-27 · TA获得超过296个赞
知道答主
回答量:459
采纳率:33%
帮助的人:330万
展开全部
虽然你的想法是在 LoginBtn_Click 事件中将复杂的操作分离出去以减轻UI的负担, 这很好完全没有问题.
但是问题在于 Me.Invoke(dh)这里,若是ChkLogin里面仍然是大规模的操作呢 你的代码就又变成将很复杂的操作扔给了UI, 当然会出现窗体无法拖动的情况了.
解决办法很简单, 很多种. 将ChkLogin()里的操作直接放在DelegateLogin()里面吧 me.invoke仅仅只是做简单的轻量的刷新之类的操作就好了.
希望能帮上你的忙.
追问
你是从哪里复制过来的回答吧哥们,跟我的问题都不一致
百度网友760302d
2018-09-08 · TA获得超过106个赞
知道答主
回答量:44
采纳率:100%
帮助的人:8.7万
展开全部
Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click
Dim t1 As Threading.Thread = New Threading.Thread(AddressOf temp)
t1.start()
t1.join()
End Sub
Public Sub temp()
PictureBox5.Show()
Threading.Thread.Sleep(100)
Form6.Show()
Me.Close()
End Sub

行吗?

还有doevents过时了。。。要用Threading.Thread.sleep()。(其实根本不用doevents)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式