2010-09-20 30 views
8

Không xa lập trình và chỉ tham gia diễn đàn này của công ty hùng mạnh vì vậy đây là một câu hỏi ngớ ngẩn, nhưng cách tốt nhất để xóa hộp văn bản trong VB là gì . Net và sự khác biệt giữa hai phương pháp là gì? Tôi cũng thấy mọi người rất quan trọng về dân gian bằng cách sử dụng các vật thể rõ ràng trên các biểu mẫu của họ và tôi có thể thấy tại sao nhưng trong trường hợp này, tôi chỉ đang học.VB.Net .Clear() hoặc txtbox.Text = "" textbox rõ ràng phương pháp

txtbox1.Clear() 

hoặc

txtbox1.Text = "" 

Bất kỳ giúp đỡ được nhiều đánh giá cao.

Trả lời

3

Hai phương pháp tương đương 100%.

Tôi không chắc chắn lý do tại sao Microsoft cảm thấy cần phải bao gồm phương pháp Clear bổ sung này nhưng vì nó ở đó, tôi khuyên bạn nên sử dụng nó, vì nó thể hiện rõ mục đích của nó.

+0

Tại sao chỉ có hai? Hãy đi với một thứ ba [Control.ResetText] (https://msdn.microsoft.com/en-us/library/system.windows.forms.control.resettext (v = vs.110) .aspx) :-) – Steve

1

Xóa() đặt thuộc tính Văn bản thành không có gì. Vì vậy, txtbox1.Text = Không có gì làm điều tương tự như rõ ràng. Một chuỗi rỗng (cũng có sẵn thông qua String.Empty) không phải là một tham chiếu null, nhưng không có giá trị của khóa học.

+0

Các tài liệu là không rõ ràng về vấn đề này vì vậy tôi sẽ không dựa về hành vi này vẫn không thay đổi. –

17

Phương pháp Clear được định nghĩa là

public void Clear() { 
     Text = null; 
    } 

setter Các Text tài sản của bắt đầu với

 set { 
      if (value == null) { 
       value = ""; 
      } 

Tôi giả định này trả lời câu hỏi của bạn.

+2

Có vẻ như ai đó ở Microsoft đã có một ngày tồi tệ trong ngày hôm đó. Điều này có vẻ kỳ lạ. 1 để đào nó ra. –1 đối với Microsoft cho tài liệu crappy ("Xóa tất cả nội dung từ hộp văn bản" - ** thực sự **?) Và mã lạ. –

+0

Cảm ơn rất nhiều. Rất ấn tượng với tốc độ phản hồi. Cảm ơn một lần nữa! –

+0

@Konrad: Đúng vậy. Bạn có những gì chống lại các tài liệu hướng dẫn? – SLaks

2

Thêm mã này trong Module:

Public Sub ClearTextBoxes(frm As Form) 

    For Each Control In frm.Controls 
     If TypeOf Control Is TextBox Then 
      Control.Text = ""  'Clear all text 
     End If  
    Next Control 

End Sub 

Thêm mã này trong cửa sổ Form nào thì gọi Tiểu thói quen:

Private Sub Command1_Click() 
    Call ClearTextBoxes(Me) 
End Sub 
1
Public Sub EmptyTxt(ByVal Frm As Form) 
    Dim Ctl As Control 
    For Each Ctl In Frm.Controls 
     If TypeOf Ctl Is TextBox Then Ctl.Text = "" 
     If TypeOf Ctl Is GroupBox Then 
      Dim Ctl1 As Control 
      For Each Ctl1 In Ctl.Controls 
       If TypeOf Ctl1 Is TextBox Then 
        Ctl1.Text = "" 
       End If 
      Next 
     End If 
    Next 
End Sub 

thêm mã này trong hình thức và gọi chức năng này

EmptyTxt(Me) 
0

Chỉ cần sử dụng: TextBox1.Clear() Nó sẽ hoạt động tốt.

+0

"... và sự khác nhau giữa hai phương pháp là gì?" -OP – showdev

0

Nếu u muốn văn bản được lựa chọn rõ ràng sau đó sử dụng để mã này tôi sẽ thực hiện bằng cách tự của tôi;)

If e.KeyCode = Keys.Delete Then 
    TextBox1.SelectedText = "" 
End If 

thats it

Các vấn đề liên quan