SelectAll()在将文本框添加到组框后不起作用

时间:2016-02-11 18:39:28

标签: .net vb.net basic

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

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

我需要(作业)将文本框放在一个组框中,以便为它们使用每个循环。将它们放入组框后,selectAll()函数不再起作用。它运作得非常好。

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

编辑:要清楚,该程序仍然编译并运行正常。它根本不选择文本以使用户更容易替换文本。

3 个答案:

答案 0 :(得分:0)

您需要处理点击事件:

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

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

我最近遇到过类似的问题。我的解决方案是在调用textbox.SelectAll()

之前将文本框设置为活动控件
 ActiveControl = textbox
 textbox.SelectAll()