Avatar billede MadsHaupt Juniormester
29. december 2013 - 14:45 Der er 2 kommentarer og
1 løsning

treeview problem

Jeg har en treeview, men den blander ikonerne sammen, jeg har tjekket at det er den rigtige imagekey, og jeg bruger stateimagelist property'en.

Så mit spørgsmål er hvad der kan være galt.

Her er min kode:

Form1.vb
Imports System.Reflection
Imports System.Globalization

Public Class Form1
    Implements Translatable

    Dim assembly As Assembly
    Dim elementlist As New List(Of Object)
    Dim selectednode As TreeNode
    Dim t As Type

    Public a As String

    Dim assemblyfilter As String = "Windows Application|*.exe|Program enlargement|*.dll|All assembly files|*.exe; *.dll|All files|*.*"
    Dim openassemblytitle As String = "Open Assembly"
    Dim cannotopenassstr As String = "Could not read the assembly, it may possibly not be a valid assembly."

    Private Sub Translate(ByVal form As Translatable)
        Translate(form, Language.IetfLanguageTag)
    End Sub

    Private Sub Translate(ByVal form As Translatable, ByVal culturetag As String)
        Dim translatemethodname As String = "Translate_" & culturetag.Replace("-", "_")
        Dim translatemethod As MethodInfo = GetType(Translatable).GetMethod(translatemethodname)
        If translatemethod Is Nothing Then
            form.Translate_en()
        Else
            translatemethod.Invoke(form, {})
        End If
    End Sub

    Private Sub Translate(ByVal form As Translatable, ByVal culture As CultureInfo)
        Translate(form, culture.IetfLanguageTag)
    End Sub

    Friend Function GetChildByText(ByVal text As String, ByVal nodes As TreeNodeCollection) As TreeNode
        For Each node As TreeNode In nodes
            If node.Text = text Then
                Return node
            End If
        Next
        Return Nothing
    End Function

    Private Sub LoadAssembly()
        TreeView1.Nodes.Clear()
        Dim modules() As [Module] = assembly.GetModules
        For Each [module] As [Module] In modules
            Dim modulenode As TreeNode = TreeView1.Nodes.Add(CStr(elementlist.Count), [module].ToString)
            modulenode.StateImageKey = "Public Module"
            elementlist.Add([module])
            Dim fields() As FieldInfo = [module].GetFields
            For Each field As FieldInfo In fields
                Dim attrstr As String = ""
                If field.IsPublic Then
                    attrstr = "Public"
                ElseIf field.IsPrivate Then
                    attrstr = "Private"
                End If
                Dim trnode As TreeNode = modulenode.Nodes.Add(CStr(elementlist.Count), field.Name)
                trnode.StateImageKey = attrstr & " Field"
                trnode.ContextMenuStrip = MemberMenu
                elementlist.Add(field)
            Next
            Dim methods() As MethodInfo = [module].GetMethods
            For Each method As MethodInfo In methods
                Dim attrstr As String = ""
                If method.IsPublic Then
                    attrstr = "Public"
                ElseIf method.IsPrivate Then
                    attrstr = "Private"
                End If
                Dim trnode As TreeNode = modulenode.Nodes.Add(CStr(elementlist.Count), method.Name)
                trnode.StateImageKey = attrstr & " Method"
                trnode.ContextMenuStrip = MemberMenu
                elementlist.Add(method)
            Next
            Dim types() As Type = [module].GetTypes
            For Each t As Type In types
                Dim tnode As TreeNode = modulenode
                Dim splitlist As New List(Of String)(t.FullName.Split("."))
                Dim nothingend As Boolean = False
                Dim i_ As Integer
                For i_ = 0 To splitlist.Count - 2
                    Dim n As TreeNode = GetChildByText(splitlist(i_), tnode.Nodes)
                    If n Is Nothing Then
                        nothingend = True
                        splitlist.RemoveRange(0, i_)
                        GoTo [next]
                        Exit For
                    Else
                        tnode = n
                    End If
                Next
                splitlist.RemoveRange(0, splitlist.Count - 1)
[next]:
                If nothingend Then
                    For i = 0 To splitlist.Count - 2
                        tnode = tnode.Nodes.Add(Nothing, splitlist(i))
                        tnode.StateImageKey = "Namespace"
                    Next
                    Dim elems() As String = splitlist(0).Split("+")
                    For i = 0 To elems.Length - 2
                        tnode = tnode.Nodes.Add(elems(i))
                        tnode.ContextMenuStrip = MemberMenu
                    Next
                Else
                    Dim elems() As String = splitlist(0).Split("+")
                    Dim endnothing As Boolean = False
                    For i = 0 To elems.Length - 2
                        If endnothing Then
                            tnode = tnode.Nodes.Add(elems(i))
                            tnode.ContextMenuStrip = MemberMenu
                        Else
                            Dim tn As TreeNode = GetChildByText(elems(i), tnode.Nodes)
                            If tn Is Nothing Then
                                endnothing = True
                                tnode = tnode.Nodes.Add(elems(i))
                                tnode.ContextMenuStrip = MemberMenu
                            Else
                                tnode = tn
                            End If
                        End If
                    Next
                End If
                Dim node As TreeNode = GetChildByText(t.Name, tnode.Nodes)
                If node Is Nothing Then
                    node = tnode.Nodes.Add(elementlist.Count, t.Name)
                    node.ContextMenuStrip = MemberMenu
                    elementlist.Add(t)
                Else
                    node.Name = elementlist.Count
                    Dim typeattrstr As String = ""
                    If t.IsNestedFamily Then
                        typeattrstr = "Protected"
                    ElseIf t.IsNestedAssembly Then
                        typeattrstr = "Friend"
                    ElseIf t.IsVisible Or t.IsNestedPublic Then
                        typeattrstr = "Public"
                    ElseIf Not t.IsVisible Or t.IsNestedPrivate Then
                        typeattrstr = "Private"
                    End If
                    Dim typestr As String = ""
                    If t.IsValueType Then
                        typestr = "Structure"
                    ElseIf t.IsSubclassOf(GetType([Delegate])) Then
                        typestr = "Delegate"
                    ElseIf t.IsEnum Then
                        typestr = "Enum"
                    ElseIf t.IsInterface Then
                        typestr = "Interface"
                    ElseIf t.IsClass Then
                        typestr = "Class"
                    End If
                    node.StateImageKey = typeattrstr & " " & typestr
                    elementlist.Add(t)
                End If
                Dim members() As MemberInfo = CType(t, TypeInfo).DeclaredMembers
                For Each member As MemberInfo In members
                    Select Case member.MemberType
                        Case MemberTypes.Field
                            node.Nodes.Add(elementlist.Count, member.Name).ContextMenuStrip = MemberMenu
                            elementlist.Add(member)
                        Case MemberTypes.Event
                            node.Nodes.Add(elementlist.Count, member.Name).ContextMenuStrip = MemberMenu
                            elementlist.Add(member)
                        Case MemberTypes.Method
                            If Not CType(member, MethodInfo).IsSpecialName Then
                                node.Nodes.Add(elementlist.Count, member.Name).ContextMenuStrip = MemberMenu
                                elementlist.Add(member)
                            End If
                        Case MemberTypes.Constructor
                            node.Nodes.Add(elementlist.Count, member.Name).ContextMenuStrip = MemberMenu
                            elementlist.Add(member)
                        Case MemberTypes.Property
                            node.Nodes.Add(elementlist.Count, member.Name).ContextMenuStrip = MemberMenu
                            elementlist.Add(member)
                    End Select
                Next
            Next
        Next
    End Sub

    Private Sub SortTreeNodes(ByVal nodes As TreeNodeCollection)
        Dim list As New List(Of TreeNode)
        Dim nodelist As New List(Of TreeNode)(nodes.Cast(Of TreeNode))
        For i = 0 To nodelist.Count - 1
            For i2 = 0 To list.Count - 1
                If nodelist(i).Text.CompareTo(list(i2).Text) < 0 Then
                    list.Insert(i2, nodelist(i))
                    GoTo [next]
                End If
            Next
            list.Add(nodelist(i))
[next]:
        Next
        nodes.Clear()
        nodes.AddRange(list.ToArray)
        For Each node As TreeNode In nodes
            SortTreeNodes(node.Nodes)
        Next
    End Sub

    Private culture As CultureInfo = CultureInfo.CurrentCulture
    Public Property Language As CultureInfo
        Get
            Return culture
        End Get
        Private Set(value As CultureInfo)
            culture = value
            For Each Form As Form In Application.OpenForms
                If TypeOf Form Is Translatable Then
                    Translate(Form)
                End If
            Next
        End Set
    End Property

    Private Sub OpenAssemblyToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OpenAssemblyToolStripMenuItem.Click
        Dim ass As New OpenFileDialog
        ass.Title = openassemblytitle
        ass.Filter = assemblyfilter
        If ass.ShowDialog = Windows.Forms.DialogResult.OK Then
            Try
                assembly = Reflection.Assembly.LoadFrom(ass.FileName)
            Catch
                Try
                    assembly = Reflection.Assembly.UnsafeLoadFrom(ass.FileName)
                Catch
                    MsgBox(cannotopenassstr, 16)
                    Exit Sub
                End Try
            End Try
            LoadAssembly()
            SortTreeNodes(TreeView1.Nodes)
        End If
    End Sub

    Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
        ToolStripStatusLabel1.Text = e.Node.FullPath
    End Sub

    Private Sub MyTreeView_NodeMouseClick(ByVal sender As Object, ByVal e As TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
        selectednode = e.Node
    End Sub

    Private Sub ViewCodeToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ViewCodeToolStripMenuItem.Click
        Dim viewer As New CodeViewer
        viewer.Show()
        viewer.Member = elementlist(selectednode.Name)
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim icons As New ImageList
        icons.ColorDepth = ColorDepth.Depth32Bit
        icons.ImageSize = New Size(16, 16)
        icons.TransparentColor = Color.Black

        ' Class
        icons.Images.Add("Public Class", New Bitmap(Application.StartupPath & "\Icons\Objects\Class_489.png"))
        icons.Images.Add("Friend Class", New Bitmap(Application.StartupPath & "\Icons\Objects\Class-Friend_491.png"))
        icons.Images.Add("Private Class", New Bitmap(Application.StartupPath & "\Icons\Objects\Class-Private_493.png"))
        icons.Images.Add("Protected Class", New Bitmap(Application.StartupPath & "\Icons\Objects\Class-Protected_492.png"))
        icons.Images.Add("Sealed Class", New Bitmap(Application.StartupPath & "\Icons\Objects\Class-Sealed_490.png"))

        ' Constant
        icons.Images.Add("Public Constant", New Bitmap(Application.StartupPath & "\Icons\Objects\Constant_495.png"))
        icons.Images.Add("Friend Constant", New Bitmap(Application.StartupPath & "\Icons\Objects\Constant-Friend_497.png"))
        icons.Images.Add("Private Constant", New Bitmap(Application.StartupPath & "\Icons\Objects\Constant-Private_519.png"))
        icons.Images.Add("Protected Constant", New Bitmap(Application.StartupPath & "\Icons\Objects\Constant-Protected_508.png"))
        icons.Images.Add("Sealed Constant", New Bitmap(Application.StartupPath & "\Icons\Objects\Constant-Sealed_496.png"))

        ' Delegate
        icons.Images.Add("Public Delegate", New Bitmap(Application.StartupPath & "\Icons\Objects\Delegate_540.png"))
        icons.Images.Add("Friend Delegate", New Bitmap(Application.StartupPath & "\Icons\Objects\Delegate-Friend_562.png"))
        icons.Images.Add("Private Delegate", New Bitmap(Application.StartupPath & "\Icons\Objects\Delegate-Private_580.png"))
        icons.Images.Add("Protected Delegate", New Bitmap(Application.StartupPath & "\Icons\Objects\Delegate-Protected_573.png"))
        icons.Images.Add("Sealed Delegate", New Bitmap(Application.StartupPath & "\Icons\Objects\Delegate-Sealed_551.png"))

        ' Enum
        icons.Images.Add("Public Enum", New Bitmap(Application.StartupPath & "\Icons\Objects\Enum_582.png"))
        icons.Images.Add("Friend Enum", New Bitmap(Application.StartupPath & "\Icons\Objects\Enum-Friend_584.png"))
        icons.Images.Add("Private Enum", New Bitmap(Application.StartupPath & "\Icons\Objects\Enum-Private_586.png"))
        icons.Images.Add("Protected Enum", New Bitmap(Application.StartupPath & "\Icons\Objects\Enum-Protected_585.png"))
        icons.Images.Add("Sealed Enum", New Bitmap(Application.StartupPath & "\Icons\Objects\Enum-Sealed_583.png"))

        ' Event
        icons.Images.Add("Public Event", New Bitmap(Application.StartupPath & "\Icons\Objects\Event_594.png"))
        icons.Images.Add("Friend Event", New Bitmap(Application.StartupPath & "\Icons\Objects\Event_Friend_596.png"))
        icons.Images.Add("Private Event", New Bitmap(Application.StartupPath & "\Icons\Objects\Event-Private_598.png"))
        icons.Images.Add("Protected Event", New Bitmap(Application.StartupPath & "\Icons\Objects\Event-Protected_597.png"))
        icons.Images.Add("Sealed Event", New Bitmap(Application.StartupPath & "\Icons\Objects\Event-Sealed_595.png"))

        ' Field
        icons.Images.Add("Public Field", New Bitmap(Application.StartupPath & "\Icons\Objects\Field.png"))
        icons.Images.Add("Friend Field", New Bitmap(Application.StartupPath & "\Icons\Objects\Field-Friend_543.png"))
        icons.Images.Add("Private Field", New Bitmap(Application.StartupPath & "\Icons\Objects\Field-Private_545.png"))
        icons.Images.Add("Protected Field", New Bitmap(Application.StartupPath & "\Icons\Objects\Field-Protected_544.png"))
        icons.Images.Add("Sealed Field", New Bitmap(Application.StartupPath & "\Icons\Objects\Field-Sealed_542.png"))

        ' Interface
        icons.Images.Add("Public Interface", New Bitmap(Application.StartupPath & "\Icons\Objects\Interface_612.png"))
        icons.Images.Add("Friend Interface", New Bitmap(Application.StartupPath & "\Icons\Objects\Interface-Friend_614.png"))
        icons.Images.Add("Private Interface", New Bitmap(Application.StartupPath & "\Icons\Objects\Interface-Private_616.png"))
        icons.Images.Add("Protected Interface", New Bitmap(Application.StartupPath & "\Icons\Objects\Interface-Protected_615.png"))
        icons.Images.Add("Sealed Interface", New Bitmap(Application.StartupPath & "\Icons\Objects\Interface-Sealed_613.png"))

        ' Method
        icons.Images.Add("Public Method", New Bitmap(Application.StartupPath & "\Icons\Objects\Method_636.png"))
        icons.Images.Add("Friend Method", New Bitmap(Application.StartupPath & "\Icons\Objects\Method-Friend_638.png"))
        icons.Images.Add("Private Method", New Bitmap(Application.StartupPath & "\Icons\Objects\Method-Private_640.png"))
        icons.Images.Add("Protected Method", New Bitmap(Application.StartupPath & "\Icons\Objects\Method-Protected_639.png"))
        icons.Images.Add("Sealed Method", New Bitmap(Application.StartupPath & "\Icons\Objects\Method-Sealed_637.png"))

        ' Module
        icons.Images.Add("Public Module", New Bitmap(Application.StartupPath & "\Icons\Objects\Module_648.png"))
        icons.Images.Add("Friend Module", New Bitmap(Application.StartupPath & "\Icons\Objects\Module-Friend_650.png"))
        icons.Images.Add("Private Module", New Bitmap(Application.StartupPath & "\Icons\Objects\Module-Private_652.png"))
        icons.Images.Add("Protected Module", New Bitmap(Application.StartupPath & "\Icons\Objects\Module-Protected_651.png"))
        icons.Images.Add("Sealed Module", New Bitmap(Application.StartupPath & "\Icons\Objects\Module-Sealed_649.png"))

        ' Property
        icons.Images.Add("Public Property", New Bitmap(Application.StartupPath & "\Icons\Objects\Property_501.png"))
        icons.Images.Add("Friend Property", New Bitmap(Application.StartupPath & "\Icons\Objects\Property-Friend_503.png"))
        icons.Images.Add("Private Property", New Bitmap(Application.StartupPath & "\Icons\Objects\Property-Private_505.png"))
        icons.Images.Add("Protected Property", New Bitmap(Application.StartupPath & "\Icons\Objects\Property-Protected_504_32.bmp"))
        icons.Images.Add("Sealed Property", New Bitmap(Application.StartupPath & "\Icons\Objects\Property-Sealed_502_32.bmp"))

        ' Structure
        icons.Images.Add("Public Structure", New Bitmap(Application.StartupPath & "\Icons\Objects\Structure_507.png"))
        icons.Images.Add("Friend Structure", New Bitmap(Application.StartupPath & "\Icons\Objects\Structure-Friend_510.png"))
        icons.Images.Add("Private Structure", New Bitmap(Application.StartupPath & "\Icons\Objects\Structure-Private_512.png"))
        icons.Images.Add("Protected Structure", New Bitmap(Application.StartupPath & "\Icons\Objects\Structure-Protected_511.png"))
        icons.Images.Add("Sealed Structure", New Bitmap(Application.StartupPath & "\Icons\Objects\Structure-Sealed_509.png"))

        ' Namespace
        icons.Images.Add("Namespace", New Bitmap(Application.StartupPath & "\Icons\Objects\Namespace_654.png"))

        TreeView1.StateImageList = icons

        Translate(Me)
        t = GetType(MethodInfo)
        assembly = t.Assembly
        LoadAssembly()
        'SortTreeNodes(TreeView1.Nodes)
    End Sub

    Private Sub FindAddressToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles FindAddressToolStripMenuItem.Click
        Dim address As New FindAddressDialog
        Translate(address)
        If address.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim addresssplit() As String = address.NewPath.Split(".")
            Dim node As TreeNode = GetChildByText(addresssplit(0), TreeView1.Nodes)
            For i = 1 To addresssplit.Length - 1
                node = GetChildByText(addresssplit(i), node.Nodes)
            Next
            TreeView1.SelectedNode = node
        End If
    End Sub

    Private Sub Translate_da_DK() Implements Translatable.Translate_da_DK
        FileToolStripMenuItem.Text = "Filer"
        OpenAssemblyToolStripMenuItem.Text = "Åbn assembly"
        FindAddressToolStripMenuItem.Text = "Find adresse"
        assemblyfilter = "Windows Application|*.exe|Program udvidelse|*.dll|Alle assembly filer|*.exe; *.dll|Alle filer|*.*"
        openassemblytitle = "Åbn assembly"
        cannotopenassstr = "Kunne ikke læse assemblyen, det er muligvis ikke en gyldig assembly."
        LanguageToolStripMenuItem.Text = "Sprog"
    End Sub

    Private Sub Translate_de() Implements Translatable.Translate_de
        FileToolStripMenuItem.Text = "Dateien"
        FindAddressToolStripMenuItem.Text = "Adresse finden"
        LanguageToolStripMenuItem.Text = "Sprache"
        assemblyfilter = "Windows Application|*.exe|Program udvidelse|*.dll|Alle assembly filer|*.exe; *.dll|Alle filer|*.*"
        openassemblytitle = "Åbn assembly"
        cannotopenassstr = "Kunne ikke læse assemblyen, det er muligvis ikke en gyldig assembly."
    End Sub

    Private Sub Translate_en() Implements Translatable.Translate_en
        FileToolStripMenuItem.Text = "File"
        OpenAssemblyToolStripMenuItem.Text = "Open assembly"
        FindAddressToolStripMenuItem.Text = "Find address"
        assemblyfilter = "Windows Application|*.exe|Program enlargement|*.dll|All assembly files|*.exe; *.dll|All files|*.*"
        openassemblytitle = "Open assembly"
        cannotopenassstr = "Could not read the assembly, it may possibly not be a valid assembly."
        LanguageToolStripMenuItem.Text = "Language"
    End Sub

    Private Sub AutoToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AutoToolStripMenuItem.Click
        Language = CultureInfo.CurrentCulture
        For Each item As ToolStripMenuItem In LanguageToolStripMenuItem.DropDownItems
            item.CheckState = CheckState.Unchecked
        Next
        AutoToolStripMenuItem.CheckState = CheckState.Indeterminate
    End Sub

    Private Sub EnglishToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EnglishToolStripMenuItem.Click
        Language = New CultureInfo("en")
        For Each item As ToolStripMenuItem In LanguageToolStripMenuItem.DropDownItems
            item.CheckState = CheckState.Unchecked
        Next
        EnglishToolStripMenuItem.CheckState = CheckState.Indeterminate
    End Sub

    Private Sub DanskToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DanskToolStripMenuItem.Click
        Language = New CultureInfo("da-DK")
        For Each item As ToolStripMenuItem In LanguageToolStripMenuItem.DropDownItems
            item.CheckState = CheckState.Unchecked
        Next
        DanskToolStripMenuItem.CheckState = CheckState.Indeterminate
    End Sub

    Private Sub GermanToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles GermanToolStripMenuItem.Click
        Language = New CultureInfo("de")
        For Each item As ToolStripMenuItem In LanguageToolStripMenuItem.DropDownItems
            item.CheckState = CheckState.Unchecked
        Next
        GermanToolStripMenuItem.CheckState = CheckState.Indeterminate
    End Sub

End Class


Form1.Designer.vb
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
    Inherits System.Windows.Forms.Form

    'Form overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If disposing AndAlso components IsNot Nothing Then
                components.Dispose()
            End If
        Finally
            MyBase.Dispose(disposing)
        End Try
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer. 
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Me.components = New System.ComponentModel.Container()
        Me.MenuStrip1 = New System.Windows.Forms.MenuStrip()
        Me.FileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
        Me.OpenAssemblyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
        Me.AssemblyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
        Me.FindAddressToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
        Me.LanguageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
        Me.AutoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
        Me.EnglishToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
        Me.DanskToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
        Me.GermanToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
        Me.TreeView1 = New System.Windows.Forms.TreeView()
        Me.MemberMenu = New System.Windows.Forms.ContextMenuStrip(Me.components)
        Me.ViewCodeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
        Me.StatusStrip1 = New System.Windows.Forms.StatusStrip()
        Me.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel()
        Me.MenuStrip1.SuspendLayout()
        Me.MemberMenu.SuspendLayout()
        Me.StatusStrip1.SuspendLayout()
        Me.SuspendLayout()
        '
        'MenuStrip1
        '
        Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FileToolStripMenuItem, Me.AssemblyToolStripMenuItem, Me.LanguageToolStripMenuItem})
        Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
        Me.MenuStrip1.Name = "MenuStrip1"
        Me.MenuStrip1.Size = New System.Drawing.Size(479, 24)
        Me.MenuStrip1.TabIndex = 0
        Me.MenuStrip1.Text = "MenuStrip1"
        '
        'FileToolStripMenuItem
        '
        Me.FileToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.OpenAssemblyToolStripMenuItem})
        Me.FileToolStripMenuItem.Name = "FileToolStripMenuItem"
        Me.FileToolStripMenuItem.Size = New System.Drawing.Size(37, 20)
        Me.FileToolStripMenuItem.Text = "File"
        '
        'OpenAssemblyToolStripMenuItem
        '
        Me.OpenAssemblyToolStripMenuItem.Name = "OpenAssemblyToolStripMenuItem"
        Me.OpenAssemblyToolStripMenuItem.Size = New System.Drawing.Size(155, 22)
        Me.OpenAssemblyToolStripMenuItem.Text = "Open assembly"
        '
        'AssemblyToolStripMenuItem
        '
        Me.AssemblyToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FindAddressToolStripMenuItem})
        Me.AssemblyToolStripMenuItem.Name = "AssemblyToolStripMenuItem"
        Me.AssemblyToolStripMenuItem.Size = New System.Drawing.Size(70, 20)
        Me.AssemblyToolStripMenuItem.Text = "Assembly"
        '
        'FindAddressToolStripMenuItem
        '
        Me.FindAddressToolStripMenuItem.Name = "FindAddressToolStripMenuItem"
        Me.FindAddressToolStripMenuItem.Size = New System.Drawing.Size(152, 22)
        Me.FindAddressToolStripMenuItem.Text = "Find address"
        '
        'LanguageToolStripMenuItem
        '
        Me.LanguageToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AutoToolStripMenuItem, Me.EnglishToolStripMenuItem, Me.DanskToolStripMenuItem, Me.GermanToolStripMenuItem})
        Me.LanguageToolStripMenuItem.Name = "LanguageToolStripMenuItem"
        Me.LanguageToolStripMenuItem.Size = New System.Drawing.Size(71, 20)
        Me.LanguageToolStripMenuItem.Text = "Language"
        '
        'AutoToolStripMenuItem
        '
        Me.AutoToolStripMenuItem.Checked = True
        Me.AutoToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Indeterminate
        Me.AutoToolStripMenuItem.Name = "AutoToolStripMenuItem"
        Me.AutoToolStripMenuItem.Size = New System.Drawing.Size(170, 22)
        Me.AutoToolStripMenuItem.Text = "Auto"
        '
        'EnglishToolStripMenuItem
        '
        Me.EnglishToolStripMenuItem.Name = "EnglishToolStripMenuItem"
        Me.EnglishToolStripMenuItem.Size = New System.Drawing.Size(170, 22)
        Me.EnglishToolStripMenuItem.Text = "English"
        '
        'DanskToolStripMenuItem
        '
        Me.DanskToolStripMenuItem.Name = "DanskToolStripMenuItem"
        Me.DanskToolStripMenuItem.Size = New System.Drawing.Size(170, 22)
        Me.DanskToolStripMenuItem.Text = "Dansk - Danish"
        '
        'GermanToolStripMenuItem
        '
        Me.GermanToolStripMenuItem.Name = "GermanToolStripMenuItem"
        Me.GermanToolStripMenuItem.Size = New System.Drawing.Size(170, 22)
        Me.GermanToolStripMenuItem.Text = "Deutsch - German"
        '
        'TreeView1
        '
        Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Fill
        Me.TreeView1.Location = New System.Drawing.Point(0, 24)
        Me.TreeView1.Name = "TreeView1"
        Me.TreeView1.PathSeparator = "."
        Me.TreeView1.Size = New System.Drawing.Size(479, 360)
        Me.TreeView1.TabIndex = 1
        '
        'MemberMenu
        '
        Me.MemberMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ViewCodeToolStripMenuItem})
        Me.MemberMenu.Name = "MemberMenu"
        Me.MemberMenu.Size = New System.Drawing.Size(131, 26)
        '
        'ViewCodeToolStripMenuItem
        '
        Me.ViewCodeToolStripMenuItem.Name = "ViewCodeToolStripMenuItem"
        Me.ViewCodeToolStripMenuItem.Size = New System.Drawing.Size(130, 22)
        Me.ViewCodeToolStripMenuItem.Text = "View Code"
        '
        'StatusStrip1
        '
        Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripStatusLabel1})
        Me.StatusStrip1.Location = New System.Drawing.Point(0, 362)
        Me.StatusStrip1.Name = "StatusStrip1"
        Me.StatusStrip1.Size = New System.Drawing.Size(479, 22)
        Me.StatusStrip1.TabIndex = 2
        Me.StatusStrip1.Text = "StatusStrip1"
        '
        'ToolStripStatusLabel1
        '
        Me.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1"
        Me.ToolStripStatusLabel1.Size = New System.Drawing.Size(0, 17)
        '
        'Form1
        '
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(479, 384)
        Me.Controls.Add(Me.StatusStrip1)
        Me.Controls.Add(Me.TreeView1)
        Me.Controls.Add(Me.MenuStrip1)
        Me.MainMenuStrip = Me.MenuStrip1
        Me.Name = "Form1"
        Me.Text = "Decompiler"
        Me.MenuStrip1.ResumeLayout(False)
        Me.MenuStrip1.PerformLayout()
        Me.MemberMenu.ResumeLayout(False)
        Me.StatusStrip1.ResumeLayout(False)
        Me.StatusStrip1.PerformLayout()
        Me.ResumeLayout(False)
        Me.PerformLayout()

    End Sub
    Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip
    Friend WithEvents OpenAssemblyToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
    Friend WithEvents TreeView1 As System.Windows.Forms.TreeView
    Friend WithEvents MemberMenu As System.Windows.Forms.ContextMenuStrip
    Friend WithEvents ViewCodeToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
    Friend WithEvents AssemblyToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
    Friend WithEvents FindAddressToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
    Friend WithEvents LanguageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
    Friend WithEvents AutoToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
    Friend WithEvents EnglishToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
    Friend WithEvents DanskToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
    Friend WithEvents GermanToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
    Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip
    Friend WithEvents ToolStripStatusLabel1 As System.Windows.Forms.ToolStripStatusLabel
    Friend WithEvents FileToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem

End Class
Avatar billede MadsHaupt Juniormester
30. december 2013 - 12:47 #1
Jeg har fundet ud af det, jeg skulle bare bruge treeview.imagelist property'en i stedet for treeview.stateimagelist property'en og bruge treenode.imagekey property'en og treenode.selectedimagekey property'en i stedet for treenode.stateimagekey.
Avatar billede MadsHaupt Juniormester
30. december 2013 - 12:49 #2
Avatar billede MadsHaupt Juniormester
30. december 2013 - 12:50 #3
[img]http://msdn.microsoft.com/en-us/library/haf2a2zb(v=vs.85).aspx[/img]
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester