2016-02-11 74 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()