一道关于vb中循环语句的问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 12:58:14
在窗体上画了一个文本框(Name其属性为Text1),然后编写如下事件过程:
Private Sub Form Load()
Text1.Text =""
Text1.SetFocus
For i=1 to 10
sum=sum+i
Next i
Text1.text =sum
End Sub
上述程序运行结果是
A. 在文本框Text1中输出55
B. 出错
答案是出错,我想问这是为什么?

默认情况下只有在 form_load 事件结束后,窗体才能显示。

所以在窗体显示前(也就是 form_load 中)写入获得焦点的语句就会出错

其实只需在 Text1.SetFocus 前强行显示窗体就不会错了。即:

Private Sub Form_Load()
Me.Show
Text1.Text = ""
Text1.SetFocus
For i = 1 To 10
Sum = Sum + i
Next i
Text1.Text = Sum
End Sub

B. 出错,Form Load事件中,只有运行完End Sub ,Text才能出现,才能获取焦点。在没结束之前就Text1.SetFocus 只能出错。

Text1.SetFocus
窗体还没加载,text还没出来怎么移动到焦点

i,sum未定义又或者是sum不是字符串

类型不匹配,text1.text=sub & "" 就可以了