用VB6在用户控件中设置焦点

问题描述:

我正在使用VB6。 我有几种形式,我需要打开一个表单。这个表单有一个UserControl。 我的问题是在这个表单中的UserControl的一个元素的setfocus。用VB6在用户控件中设置焦点

Sub Form_Activate() 
    Ctrl_User.MyTextbox.SetFocus 
End Sub 

但不运行

我可怎么办呢??

感谢

+0

如果直接在属性窗口中设置'TabIndex'为0到该用户控件是什么?当你打开表单时,它会自动将你的UC内部的控件与TabIndex 0对焦。 – deblocker

+0

我有tabindex = 0的用户控件。但不要跑 –

你有没有尝试过这样的:

Sub Form_Activate() 
    Ctrl_User.Enabled = True 
    Ctrl_User.MyTextbox.SetFocus 
End Sub 

而且也许你可能需要在这里回顾这个问题,以及它可以帮助你更多:

如果你正在创作一用户绘制的控件,您的UserControl上不会有任何 构成控件。如果您不希望 控件能够接收焦点,请将UserControl对象的CanGetFocus属性 设置为False。 CanGetFocus默认为True。

如果你的用户绘制控件可以接收焦点,用户控件 对象将收到的GotFocus和LostFocus事件,当你控制 接收并失去焦点。用户绘制的控件负责 在焦点位置绘制自己的焦点矩形,如本章中的 “用户绘制控件”所述。

这是您的UserControl的GotFocus和LostFocus 事件需要为用户绘制的控件完成的唯一功能。您无需 为您的控件用户 募集GotFocus或LostFocus事件,因为如果CanGetFocus属性为True,容器的扩展器将提供这些事件。

https://msdn.microsoft.com/en-us/library/aa241743(v=vs.60).aspx

+0

谢谢理查德。我正在使用VB6,在我的UserControl中没有propertys .Enabled和.CanGetFocus –