Xin hỏi về cách sử dụng 2 button trong vb.net

TungDauTen

Yêu THVBA
Chào anh chị
Em có 1 form,2 button. Button 1 chạy 1 vòng lặp vô hạn. Em muốn bấm button2 để dừng vòng lặp nhưng button2 không thể bấm vào khi vòng lặp đang hoạt động.
Làm cách nào để giải quyết điều này ạ?
Xin cảm ơn!
 

NhanSu

SMod
Thành viên BQT
Bạn có thể sử dụng Application.DoEvents() hoặc multithreading hoặc dùng Task. Ví dụ:
Mã:
Public Class Form1
    Private i As Long = 0
    Private cancel As Boolean
    Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        cancel = True
        While (True)
            'Application.DoEvents()
            Await Task.Delay(100)
            If Not cancel Then Exit Sub
            i = i + 1
            TextBox1.Text = i
        End While
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        cancel = False
    End Sub
End Class
 

TungDauTen

Yêu THVBA
Bạn có thể sử dụng Application.DoEvents() hoặc multithreading hoặc dùng Task. Ví dụ:
Mã:
Public Class Form1
    Private i As Long = 0
    Private cancel As Boolean
    Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        cancel = True
        While (True)
            'Application.DoEvents()
            Await Task.Delay(100)
            If Not cancel Then Exit Sub
            i = i + 1
            TextBox1.Text = i
        End While
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        cancel = False
    End Sub
End Class
Mình mới tìm hiểu qua nên chưa biết. Cảm ơn bạn nhiều ạ
 
Top