无法启用文本框,这会导致运行时错误

时间:2018-11-30 15:08:31

标签: vb6 runtime-error

我正在开发 VB6旧版应用程序 (是的,非常非常非常旧的应用程序,不能选择迁移)。我有一个button和一个textbox (VB.TextBox)。该文本框最初被禁用(例如Enabled = False)。当我单击button时,textbox应该被启用并获得焦点。 这是OnClick事件的代码

Private Sub btnMAJ_Click(Index As Integer)

    txtNom.Enabled = True
    txtNom.SetFocus    

End Sub

问题是,当我将txtNom.Enabled的值更改为True后立即进行检查时,它仍然为False,并且当代码到达行txtNom.SetFocus时,它会引发错误消息

  

运行时错误“ 5”

     

无效的过程调用或参数

因为txtNom控件仍然被禁用。我不明白会是什么问题。

这是VB6 IDE的屏幕截图,分配了 True 后立即观察了txtNom.Enabled的值,您仍然可以看到它仍然为 False < / p>

Screen capture of VB6

1 个答案:

答案 0 :(得分:4)

好,所以我在这里发现了问题。在这种特定情况下,txtNom控件位于panel内,该控件也被禁用。直到我在包含的panel上将 Enabled 设置为 True 时,该控件才被启用。因此,如果禁用该组件的任何容器,似乎SetFocus将会失败,这是有道理的,但是错误消息信息是我认为微软不应该为此感到骄傲的。