Don't Make This Silly Mistake With Your 토토

WithEvents and Handles clause needs sort us to declare the item variable and also the function handler as we publish our code, so linkage is designed upon compilation. On the other hand, with AddHandler and RemoveHandler, linkage is produced and taken off at runtime, which can be more flexible.

Let’s believe that we want to load numerous MDI boy or girl types, allowing each of these to be loaded only once, not to mention to understand when one of many little one kinds is closed. Considering that Now we have a number of types to load we would like to use the AddHandler and RemoveHandler key phrases so we can be versatile and produce the negligible code we will.

Permit’s get dirty.

one. In Each and every MDI little one form we need to declare a public celebration.

Public Function FormClosed(ByVal f As Type)

two. In Each and every MDI boy or girl sort we need to use the Form_Closed system which handles the MyBase.Shut course and raise the FormClosed occasion.

Non-public Sub Form1_Closed(ByVal토토사이트 sender As Item, ByVal e As Procedure.EventArgs) _

Handles MyBase.Shut

RaiseEvent FormClosed(Me)

Conclusion Sub

3. On our MDI kind we have to declare two member variables. The very first’s of variety Type and the 2nd’s sort is ArrayList.

Private m_f(0) as Sort

Private m_sLoadedChildForms As New ArrayList

4. We need to employ a way the will research the MDI boy or girl forms which can be loaded. We’ll also use this process once we unload the MDI youngster types.

Personal Function SearchChildForm(ByVal strSearchForm As String, _Optional ByVal idxEventHandler As Very long = -one) As Long

Dim i As Prolonged = 0

For i = 0 To m_sLoadedForms.Rely – one

If m_sLoadedForms.Item(i) = strSearchForm Then

Dim j As Extended = 0

For j = m_f.GetLowerBound(0) To m_f.GetUpperBound(0)

If m_f(j).Title = strSearchForm Then idxEventHandler = j

Subsequent j

Return i

Conclude If


Return -1

Conclude Operate

5. We have to employ a way to load the mdi boy or girl kinds and make use of the SearchChildForm technique to be able never to load a similar mdi baby kind second time.

Private Sub 먹튀 LoadChildForms(ByVal f As Form)

If m_f.GetUpperBound(0) > 0 Then

ReDim Maintain m_f(m_f.GetUpperBound(0) 1)

m_f(m_f.GetUpperBound(0)) = file I

file Not SearchChildForm(m_f(m_f.GetUpperBound(0)).Identify()) >= 0 Then

m_f(m_f.GetUpperBound(0)).MdiParent = Me

AddHandler m_f(m_f.GetUpperBound(0)).Shut, _

AddressOf UnloadChildForm




ReDim Maintain m_f(m_f.GetUpperBound(0) – one)

6. Ultimately we must carry out a way to choose out our mdi child form with the array listing so we could load it once again if we want.

Personal Sub UnloadForm(ByVal sender As Technique.Item, ByVal e As Process.EventArgs)

Dim i As Long

Dim s As String = sender.GetType().Identify

Dim IndexForEventHandler = -1


i = SearchChildForm(s, IndexForEventHandler)

If i >= 0 Then m_sLoadedForms.RemoveAt(i)

If IndexForEventHandler >= 0 Then

RemoveHandler m_f(IndexForEventHandler).Closed, AddressOf UnloadForm

m_f(IndexForEventHandler) = Absolutely nothing