Kiểm tra xem 1 form đã được nạp (load) chưa.


Kiểm tra xem 1 form đã được nạp (load) chưa. 
Nếu form đã nạp rồi thì khi người sử dụng click mở form, form sẽ không load lên mà sẽ đưa con trỏ
 đến form. Ngược lại thì sẽ nạp form.

Giả sử chương trình gồm 2 form: form1 và form2.
Trên form1 có 1 button btnNap_1_Form2 dùng để hiển thị form2, và chúng ta muốn chỉ nạp duy nhất một form2.
Bước 1. Tạo module có hàm formisloaded

Module Module1
    Public Function formisloaded(ByVal myformname As String) As Boolean
        Dim BBbformisloaded As Boolean = False
        BBbformisloaded = False
        'myform = New Form
        For i As Integer = 0 To Application.OpenForms.Count - 1
            If TypeName(Application.OpenForms(i)) = myformname Then
                BBbformisloaded = True
                Exit For
            End If
        Next
        Return BBbformisloaded
    End Function
End Module

Chú ý: Application.OpenForms là collection chứa các form đã được nạp

Bước 2.
 Trong form1 viết code cho button btnNap_1_Form2
    Private Sub btnNap_1_Form2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNap_1_Form2.Click
        If formisloaded("Form2") = False Then
            Dim f As New Form2
            f.Show()
        End If
    End Sub

~ bởi duriangroup on Tháng Bảy 15, 2007.

 
%d bloggers like this: