sự kiện textchanged không phải là mình nhập chữ nào nó cũng chạy hả Ad?

1 thích 0 không thích
6,628 lượt xem
đã hỏi 15 Tháng 12, 2015 trong Lập trình VB.NET bởi huudai12a (450 điểm)
đã hiện lại 1 Tháng 2, 2016 bởi nguyenthao

ví dụ như mình có mã SP-001 nhưng khi bắt đầu nhập S thì cái sự kiện textchanged đã chạy rồi..nó ko đợi mình nhập hết mã?

    

3 Câu trả lời

2 thích 0 không thích
đã trả lời 15 Tháng 12, 2015 bởi nguyenthao (9,000 điểm)
được bầu chọn là câu hỏi hay nhất 16 Tháng 12, 2015 bởi Cái Trí Minh
 
Câu trả lời hay nhất

Vậy bạn có thể sử dụng sự kiện này

Private Sub textBox1_Leave(sender As Object, e As System.EventArgs) Handles textBox1.Leave
        ' load giá tiền
        
    End Sub

 

1 thích 0 không thích
đã trả lời 18 Tháng 12, 2015 bởi Dương Công Thuấn

Dùng TextChanged thì cứ text thay đổi (changed) là nó nhảy sự kiện. Để làm như bạn mong muốn - đợi nhập hết - thì bạn phải định nghĩa thế nào là nhập hết.

Tùy trường hợp sẽ dùng sự kiện phù hợp. VD nhập hết có thể là (tùy bài toán):

- Nhập đủ độ dài mã quy định (VD 6 kỹ tự với mã SP-001 của bạn)

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        If TextBox1.Text.Length >= 6 Then
            'Do something
        End If
End Sub

- Gõ Enter sau khi nhập xong

Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyCode = Keys.Enter Then
            'Do something
        End If
End Sub

- Hoặc (như trả lời của nguyenthao) rời khỏi ô textbox

- ....

0 thích 0 không thích
đã trả lời 7 Tháng 1, 2016 bởi loidotat (1,130 điểm)
Bạn sử dụng Richtextbox thay cho textbox có sự kiện selection_changed. Khi con trỏ ra ngoài thì Richtextbox có selectionStart = -1
...