【问题标题】:TextBox losing focus文本框失去焦点
【发布时间】:2012-07-18 14:45:26
【问题描述】:

这让我很困惑。我有一个带有文本框、2 个单选按钮、一个确定按钮和一个取消按钮的 Windows 窗体。我一直在玩 Tabbing,但现在我已经删除了它,所以 TextBox1 设置为 TabIndex=1 & TabStop=True,所有其他字段都设置为 TabIndex=0 & TabStop=False。

要访问此表单,我执行以下代码:

    Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ChooseLeague.SelectedIndexChanged
    If ChooseLeague.SelectedIndex = 0 Then
        Me.Hide()
        MaintainDatabaseAddLeague.RadioButton1.Checked = False
        MaintainDatabaseAddLeague.RadioButton2.Checked = False
        MaintainDatabaseAddLeague.TextBox1.Text = ""
        MaintainDatabaseAddLeague.TextBox1.Focus()
        MaintainDatabaseAddLeague.Show()
    End If
End Sub

窗体打开,光标在 TextBox 中根据需要闪烁。但是,如果我从表单中取消然后通过相同的方法返回到它,则光标不在 TextBox 中,并且取消按钮突出显示/具有焦点。

这是为什么,有什么想法吗?!?

【问题讨论】:

    标签: vb.net visual-studio-2010


    【解决方案1】:

    由于您正在隐藏和显示表单,因此它正在显示最后一个焦点控件。直到表单可见之后,焦点调用才会起作用。

    尝试切换它并使用Select 方法。

    MaintainDatabaseAddLeague.Show()
    MaintainDatabaseAddLeague.TextBox1.Select()
    

    【讨论】:

    • 大多数控件都一样吗?我来自大型机背景,并假设在加载表单之前所有设置都应该到位!
    • 完美,谢谢LarsTech,这么简单,我要学的东西太多了!
    • @GaryHeath 差不多。虽然 Focus 和 Select 不是设置,但它们是方法。这些特定方法仅适用于可见表单。
    猜你喜欢
    • 1970-01-01
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    相关资源
    最近更新 更多