VB Migration Partner converts elements of a control array to a standard control named arrayname_NNN, where arrayname is the name of the control array and NNN is a 3-digit value equal to the control’s Index property, for example MyControls_001. In most cases you don’t need to care about this detail, because you can typically access the control using the standard array syntax, e.g. MyControls(1). Additionally, you can handle a specific event from all the controls in the array by defining a method named arrayname_eventname pattern, as you do under VB6:
Private Sub MyControls_Change(ByRef index As Short)
Debug.Print("New Text = " & MyControls(index))
End Sub
Notice that this method isn’t decorated with the Handles keyword. In fact, the control support library deals with control array events in a special way and uses reflection to route the event to the method named after the arrayname_eventname pattern.
Of course, Visual Studio isn’t aware of control arrays and doesn’t deal with its elements in any special way. Therefore, if you double-click on MyControls(1) to create a event handler, the following code is created:
Private Sub MyControls_001_Change() Handles MyControls_001.Change
End Sub
If you need to create a handler for elements in the array after the conversion to VB.NET, you must manually define a method named arrayname_eventname, without any Handles clause.