Sämtliche Controls vom Formular auslesen
[Visual Basic] Private Function Objectanalysis( _
ByRef ctl As Object _
) As String
[Visual Basic] Private Function Objectanalysis(ByRef ctl As Object) As String
Dim typ As System.Type = ctl.GetType
Select Case LCase(typ.Name)
Case "menustrip"
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ""))
tmpmenuname = ctl.name
ReadMenu(ctl)
Case "contextmenustrip"
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ""))
tmpmenuname = ctl.name
ReadContextMenu(ctl)
Case "toolstrip"
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ""))
Dim tmptoolstrop As ToolStrip = ctl
Try
Dim ic As Integer
For ic = 0 To tmptoolstrop.Items.Count - 1
Try
Dim subobj As ToolStripButton
subobj = tmptoolstrop.Items(ic)
ctlcol.Add(New MyFormControls(subobj, formname, typ.Name, ctl.Name, subobj.Name, 1))
Catch ex As Exception
End Try
Next
'For Each subobj As ToolStripButton In tmptoolstrop.Items
'ctlcol.Add(New MyFormControls(subobj, formname, typ.Name, ctl.Name, subobj.Name, 1))
'Next
Catch
End Try
Case "splitcontainer"
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ""))
Dim tmpsplit As SplitContainer = ctl
For Each ctrl As Object In tmpsplit.Panel1.Controls
Objectanalysis(ctrl)
Next
For Each ctrl As Object In tmpsplit.Panel2.Controls
Objectanalysis(ctrl)
Next
Case "tabcontrol", "clsmytabcontrol"
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ""))
Dim tmptabcontrol As TabControl = ctl
For Each ctl In tmptabcontrol.TabPages
Objectanalysis(ctl)
Next
Case "tabpage"
Dim tmptabpage As TabPage = ctl
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, tmptabpage.Parent.Name, 1))
For Each ctl In tmptabpage.Controls
Objectanalysis(ctl)
Next
Case "groupbox"
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ""))
Dim tmptabpage As GroupBox = ctl
For Each ctl In tmptabpage.Controls
Objectanalysis(ctl)
Next
Case "panel"
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ""))
Dim tmppanel As Panel = ctl
For Each ctl In tmppanel.Controls
Objectanalysis(ctl)
Next
Case "c1truedbgrid"
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ""))
Dim ctrl As C1TrueDBGrid = ctl
Dim i As Integer
For i = 0 To ctrl.Columns.Count - 1
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ctrl.Columns(i).Caption, 0, ctrl.Columns(i).Caption))
Next
Try
If ctrl.ContextMenuStrip.Name <> "" Then
Dim x As ContextMenuStrip = ctrl.ContextMenuStrip
Objectanalysis(x)
End If
Catch ex As Exception
End Try
For Each xctl As Object In ctrl.Controls
Objectanalysis(xctl)
Next
Case "treeview"
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ""))
Dim ctrl As TreeView = ctl
Try
If ctrl.ContextMenuStrip.Name <> "" Then
Dim x As ContextMenuStrip = ctrl.ContextMenuStrip
Objectanalysis(x)
End If
Catch ex As Exception
End Try
Case Else
If ctl.name = "TreeStruktur" Then
End If
ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ""))
End Select
End Function
Plattformen: Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition