积极答复者
VB2005中使用Label控件不显示文字请教

问题
-
VB2005中使用Label控件,如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = "正在进行数据处理,请稍候..."
Dim bh1 As String
Dim xm1 As String
Dim zjls1, i, jb1, sj1, bj1, kg1, hx1, nf1, yf1, ts1 As Integer
Dim hxts1, kh1 As Double
Dim SQLString, Msg As String
SQLString = "SELECT bh As 编号,xm As 姓名,date8 As 日期 From kqsj WHERE month(date8) ='" & yf & "'"
Dim UserTable1 As DataTable = DBOperation.DBOperate(SQLString, Msg)
For i = 0 To UserTable1.Rows.Count
jb1 = jb1 + UserTable1.Rows(i).Item(4)
sj1 = sj1 + UserTable1.Rows(i).Item(5)
Next
Label1.Text = "数据处理完毕!"
End Sub
为什么运行时,Label1.Text 中只有一个空框,不显示 "正在进行数据处理,请稍候..."文字,而在程序运行快结束时Label1显示 "数据处理完毕!"文字?是什么原因导致Label1第一次不显示文字而执行到第二次时才显示文字?谢谢。
答案
-
你好
這是因為當你按BUTTON 時
入面的動作會在同一個thread 一起執行的
所以當你按下button 時便只會顯示最後一個Label 內容了
你可以當試使用Background worker 應該可以解決這個問題的
Please correct me if my concept is wrong
Chi- 已建议为答案 Mike FengModerator 2011年7月4日 9:56
- 已标记为答案 Mike FengModerator 2011年7月11日 8:43
-
Hi ,
原因和Chiyau说的一样,只是我提供一个有点不同的方法:
只是 Label1.Text = "正在进行数据处理,请稍候..."
在加上这句话
Application.DoEvents()你试试。
Best regards,
Mike Feng [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 Mike FengModerator 2011年7月11日 8:43
全部回复
-
你好
這是因為當你按BUTTON 時
入面的動作會在同一個thread 一起執行的
所以當你按下button 時便只會顯示最後一個Label 內容了
你可以當試使用Background worker 應該可以解決這個問題的
Please correct me if my concept is wrong
Chi- 已建议为答案 Mike FengModerator 2011年7月4日 9:56
- 已标记为答案 Mike FengModerator 2011年7月11日 8:43
-
为什么运行时,Label1.Text 中只有一个空框,不显示 "正在进行数据处理,请稍候..."文字,而在程序运行快结束时Label1显示 "数据处理完毕!"文字?是什么原因导致Label1第一次不显示文字而执行到第二次时才显示文字?谢谢。
你好:)原因很简单——你一开始把label拖拽到界面上的时候,没有设定Text。
解决方案
1)直接在界面设计器中Text写入对应要显示的文字。
2)在Form_Load事件中:
Label1.Text = "正在进行数据处理,请稍候..."
如果你有其它意见或私下交流,请发送邮件到:maledong@qq.com;或者请
下载MSDN桌面工具(Vista,Win7)
下载Technet桌面小工具(Vista,Win7)
慈善点击,点击此处 -
Hi ,
原因和Chiyau说的一样,只是我提供一个有点不同的方法:
只是 Label1.Text = "正在进行数据处理,请稍候..."
在加上这句话
Application.DoEvents()你试试。
Best regards,
Mike Feng [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
- 已标记为答案 Mike FengModerator 2011年7月11日 8:43