2015-11-06 26 views
0

我希望我的VB程序中的文本框能夠在程序加載時自動清除,我已經完成了這個工作,但我想知道是否有一個簡短的方法來保持代碼合理整潔並減少浪費時間和不必要的重複。我已經添加了他們目前的一小段代碼。加載時自動清除文本框VB

Postcode.Text = "" 
Address.Text = "" 
HouseNumber.Text = "" 

等等

+0

爲什麼這是必要的?他們不應該在程序啓動時清楚嗎? –

回答

0

當你的應用程序加載,文本框應該是空的,除非你設置的默認值。

你爲什麼認爲他們會有條目?

你可以使用如下代碼:

For Each txt In {txt1, txt2, txt3, txt4} 
    txt.Clear() 
Next 
+0

謝謝,它只是因爲我有一個數據庫鏈接到這些文本框,並且當程序加載時,它有時會在用戶啓動之前用信息填充它們。 –

+0

如果這是綁定到數據庫,將清除字段,不清除數據庫中的條目? –

0

正如卡爾所說,你TexBoxes應該已經是空的;除非你在關閉它時沒有正確地卸載表單?

要正確卸載表單並刪除表單中的所有現有值,只需在用戶窗體模塊中包含Unload Me,或者在普通模塊中包含Unload Userform1

僅供參考,您可以循環並清除每個文本框,如下所示。

Dim ufControl As Control 

For Each ufControl In UserForm1.Controls 
    If TypeName(ufControl) = "TextBox" Then 
     ufControl.Text = "" 
    End If 
Next ufControl 

編輯:剛剛意識到你不是在談論的Excel用戶窗體,但主要應該是大同小異的。通過每一個文本框循環,並清除任何值。

1

您可以循環和設置值;

For Each tb In Me.Controls.OfType(Of TextBox) 
    tb.Text = "" 
Next