Ich habe eine Kontrolle namens SuperValidator1 auf jedem Formular mit SuperValidator
Typ. Ich möchte dieses Steuerelement finden und es mit seinem Namen aktivieren, da der Name in allen Formen konsistent ist. so ist dies der Code kam ich mit:Convert Control mit Cast funktioniert nicht
Dim validator As SuperValidator
Dim frm As Form = Me.ParentForm
Dim ctrl As Control()
ctrl = frm.Controls.Find("SuperValidator1", True)
Dim singleCtrl As Control = ctrl(0)
validator = TryCast(singleCtrl, SuperValidator) '< ERROR LINE
es Editor Fehler wirft: Value of Type 'Control' cannot be converted to 'SuperValidator'
ich versuchte CType
und DirectCast
aber es ist das gleiche. nach this sollte ich in der Lage sein, jeden Datentyp zu übertragen. was ist falsch und was soll ich tun?
btw SuperValidator
ist von DevComponents.DotNetBar.Validator
dank
Meine Vermutung wäre, dass SuperValidator kein Steuerelement ist, hat keine Kontrolle erben, sondern eine Komponente. – dbasnett
Sie haben singleCtrl als Steuerelement definiert, aber dann versuchen, das als Validator zu werfen und das wird nicht passieren. Sie müssen den Datentyp ändern .... Sie können all dies überprüfen, indem Sie eine TypeOf-Prüfung durchführen, um sicherzustellen, dass Sie tatsächlich das richtige Steuerelement abrufen, bevor Sie es Ihrem varoable zuweisen ... – Codexer
'SuperValidator' ist [** tatsächlich eine Komponente **] (http://www.devcomponents.com/kb2/?p=475). –