Ниже мое решение, которое я придумал, который работает.По сути, я проверяю, что вся инициализация прошла перед чтением свойства Tag.Я обнаружил, что свойство Tag пусто до тех пор, пока New () в CMotorButton не завершит работу, хотя свойство Tag было установлено при создании экземпляра CMotorButton в форме.TimerInitate имеет время тика 500 мс.
Не самое профессиональное решение, но работает для того, что мне нужно в данный момент.
Другим вариантом может быть многопоточность, но я не пробовал и оставлю это для будущих испытаний.
Public Class CDeviceButton
Inherits Button
Public MMIControl As String = "MMIC"
Public Sub New()
TimerInitiate = New Timer(Me)
End Sub
Private Sub TimerInitiate_Tick(sender As Object, e As EventArgs) Handles TimerInitiate.Tick
If Tag <> Nothing Then
TimerInitiate.Stop()
MMIControl = "MMIC" & Tag
End If
End Sub
End class
Public Class CMotorButton
Inherits CDeviceButton
Sub New()
'Do Some stuff
TimerInitiate.Start()
End Sub
Private Sub CMotorButton_Click(sender As Object, e As EventArgs) Handles Me.Click
End Class