天刀神威图片:关于VB6.0的一个奇怪问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 23:56:55
Private Sub Form_Load()
Text1.Text = ""
Text1.SetFocus
For i = 1 To 10
Sum = Sum + i
Next
Text1.Text = Sum
End Sub
在Vb6.0中这个程序运行会出错,我知道问题在
Text1.SetFocus
这一句,可是不知道为什么!
有人知道么?谢谢!

问题就出现在Text1.SetFocus 上,此时窗体还没有加载。如果必须要设置焦点的话,可以在它前面加上Me.Show把窗体显示出来。

加上这一句,我已经试着调试了一下,已经OK了

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

很久不玩VB了。
你的问题可能是在Form_Load() 过程中,也就是在窗体加载时执行Text1.SetFocus 是不合理的。
因为窗体还没加载,因此Text1设上光标是办不到的。
只有在窗体加载后Text1.SetFocus 才可行。

你可以试着把上面的代码放到窗体Active事件中去试试。

Private Sub Form_Load()
Text1.Text = ""

For i = 1 To 10
Sum = Sum + i
Next
Text1.Text = Sum
End Sub