2016-02-11 63 views
0

当用户单击该框时,我可以让我的程序选择文本框内的所有文本。SelectAll()将文本框添加到组框后不工作

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

我需要(家庭作业)将文本框放在groupbox中,以便为它们上的每个循环使用a。将它们放入组盒后,selectAll()函数不再起作用。它的工作非常好。

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

编辑:要清楚,程序仍然编译并运行良好。它不会选择文本,以便用户更容易地替换文本。

+1

您是如何将它们移动到GroupBox中的?如果剪贴,则切断了事件,在这种情况下,您必须再次订阅该事件。 – LarsTech

+0

我做了剪切和粘贴,快速的谷歌搜索给我带来了这个结论。 –

+0

将来,请尝试将控件拖放到新的容器中。这将保留事件处理程序。 – LarsTech

回答

0

您需要处理单击事件:

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

有时,当剪切和粘贴控制你可以失去的处理程序。

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()。

0

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

ActiveControl = textbox 
textbox.SelectAll()