【问题标题】:SelectAll() Not working after adding text boxes to a group box将文本框添加到组框后 SelectAll() 不起作用
【发布时间】:2016-02-11 18:39:27
【问题描述】:

当用户单击文本框时,我能够让我的程序选择文本框内的所有文本。

 Private Sub txtPreserve_Click(sender As Object, e As EventArgs)
    txtPreserve.SelectAll()
End Sub

我需要(作业)将文本框放在组框内,以便在它们上使用 for each 循环。将它们放入组框后,selectAll() 函数不再起作用。效果很好。

我想我需要在发出 .selectAll() 函数之前以不同的方式指定文本框。如果有人知道解决方法或替代方法,我将不胜感激。

编辑:需要明确的是,程序仍然可以编译并运行良好。它只是不选择文本,以便用户更轻松地替换文本。

【问题讨论】:

  • 你是如何将它们移动到 GroupBox 中的?如果剪切粘贴,则您切断了该事件,在这种情况下您必须重新订阅它。
  • 我做了剪切和粘贴,快速的谷歌搜索让我得出了这个结论。
  • 以后尝试将控件拖到新容器中。这将保留事件处理程序。

标签: .net vb.net basic


【解决方案1】:

你需要处理点击事件:

Private Sub txtPreserve_Click(sender As Object, e As EventArgs) Handles txtPreserve.Click
    txtPreserve.SelectAll()
End Sub

有时在剪切和粘贴控件时,您可能会丢失处理程序。

【讨论】:

    【解决方案2】:

    听起来你有多个文本框,你可能想要相同的行为。在这种情况下,以下可能是一个有效的解决方案:

    Private Sub MyMultipleEventHandler (ByVal sender as System.Object, ByVal e as System.EventArgs) Handles txtPreserve.Click, txt2.Click, txt3.Click
        Dim tb as textbox = sender
        sender.SelectAll()
    End Sub
    

    这会将所有文本框点击事件映射到同一个处理程序。 sender 表示发送事件的对象,在本例中为单个文本框。 将 sender 转换为文本框可让您在该文本框上调用 SelectAll()。

    【讨论】:

      【解决方案3】:

      我最近遇到了类似的问题。我的解决方案是在调用 textbox.SelectAll() 之前将文本框设置为活动控件

       ActiveControl = textbox
       textbox.SelectAll()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多