dev WaitDialogForm窗体问题vb.net

rmini 2011-10-26 04:46:12
哪些高手用过dev WaitDialogForm,在窗体加载完之前调用一个WaitDialogForm等待窗体,我用以下代码实现了,一切都正常,但是 就是WaitDialogForm 窗体上的漏斗图标没有动(即静止的),本应该是上下不停翻动的,该如何修改呢??

Public Class Form1
Dim pFrm As WaitDialogForm
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
pFrm = New WaitDialogForm("系统正在加载代理点数据,请稍候...", "提示")
Dim UserSqlstr As String = "SELECT * FROM oitw"
objDataAdpter = New SqlDataAdapter(UserSqlstr, objSqlConnection)
Dim objtable As New DataTable()
objDataAdpter.Fill(objtable)
Me.BindingSource1.DataSource = objtable
Me.GridControl1.DataSource = BindingSource1
pFrm.Dispose()
Catch
MsgBox("错误号:" & Err.Number & "错误描述:" & Err.Description)
End Try
End Sub

End Class
...全文
375 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rmini 2011-10-26
  • 打赏
  • 举报
回复
谢谢andywongz指导,多线程我一点也不懂,按照你的方法我试了一下,还是没有成功,加载窗体时主要加载了一个树形结构
老龙友 2011-10-26
  • 打赏
  • 举报
回复
注意,对于刚开始使用多线程的同学来说,容易犯错的是,程序在执行到Th.Start()之后,以为程序会停在那里,等Th.Start()执行完毕后才继续执行。真实的情况是立刻向下执行。这就是多线程的特性。所以你不能在Th.Start()后面添加Pfrm.Dispose

正确的做法是在公共区域用一个标识来表示线程是否执行完毕,或者,你把Loading动作放在pfrm里面,让pfrm执行完毕后自己dispose自己


老龙友 2011-10-26
  • 打赏
  • 举报
回复
把你的代码改成如下形式:

Public Class Form1

Dim pFrm As WaitDialogForm


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim th As New Threading.Thread(AddressOf LoadingData)
th.Start()

End Sub

Private Sub LoadingData()

Try
pFrm = New WaitDialogForm("系统正在加载代理点数据,请稍候...", "提示")
Dim UserSqlstr As String = "SELECT * FROM oitw"
objDataAdpter = New SqlDataAdapter(UserSqlstr, objSqlConnection)
Dim objtable As New DataTable()
objDataAdpter.Fill(objtable)
Me.BindingSource1.DataSource = objtable
Me.GridControl1.DataSource = BindingSource1

Catch
MsgBox("错误号:" & Err.Number & "错误描述:" & Err.Description)
End Try

End Sub

End Class

老龙友 2011-10-26
  • 打赏
  • 举报
回复
漏斗显示动画,和你要加载一系列数据,这是两个不同的动作

正常情况下CLR是顺序执行,要执行你的代码就不会显示动画,如果你要两个都做,就得用多线程,把载入数据动作放到另外一个线程

16,556

社区成员

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

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