Как кешировать TreeView? - PullRequest
       8

Как кешировать TreeView?

0 голосов
/ 27 февраля 2019

приятно познакомиться.

Мне нужна маленькая помощь, надеюсь, это маленькая.Я хочу создать класс, который читает XML в TreeView.Без Класса я имею в виду, что код в моей Форме работает нормально, но он работает, но если я хочу создать Класс, я должен кэшировать результат в своем классе в некоторой форме глобальной переменной, чтобы я мог получить его в Project в любой форме.Я надеялся, что это может быть просто, но я думаю, что моя мысль наивна.

Я думал, что это так:

Dim GlobalTreeView как новый TreeView 'это должно быть похоже на элемент управления TreeView1 в форме затемпоместите все кивки, как нужно, в theare, а затем, когда я хочу, чтобы он отображался в форме TreeView1 = GlobalTreeView

Каков наилучший способ сделать это?

Это то, что я хочу положить вa Класс:

Private Sub FillTreeView()

    Dim Filename As String = CLS_XMLReader.GetFileNameInXMLFileByComBoSelection(CLS_GlobVars.GV_SelectedListCustomPaster, CLS_GlobVars.GV_CustomPasterPath & CLS_GlobVars.GV_CustomPasterInformationListXMLFile)

    If Filename IsNot Nothing Then

        TreeView1.Nodes.Clear()
        Dim PathToCustomPaster As String = CLS_GlobVars.GV_CustomPasterPath & Filename
        Dim TreeViewNote As String = Nothing
        Dim TreeViewSubNote As String = Nothing
        Dim TreeViewSubSubNote As String = Nothing
        Dim Model As String = Nothing
        Dim subnode As Integer = 0
        Dim subsubnote As Integer = 0

        ' Create an XML reader.
        Using reader As XmlReader = XmlReader.Create(PathToCustomPaster)

            While reader.Read()
                ' Check for start elements.
                If reader.IsStartElement() Then
                    If reader.Name = "list" Then
                        Dim attribute As String = reader("name")
                        Model = attribute
                        TreeView1.Nodes.Add(Model)

                    End If
                    If reader.Name = "settings" Then
                        Dim attribute As String = reader("name")
                        TreeViewNote = attribute
                        subnode = subnode + 1
                        TreeView1.Nodes(0).Nodes.Add(TreeViewNote)
                        TreeViewSubNote = Nothing
                        subsubnote = 0
                    ElseIf reader.Name = "value" Then
                        Dim attribute As String = reader("name")
                        TreeViewSubNote = attribute

                        If TreeViewNote = TreeViewNote And TreeViewSubNote IsNot Nothing Then
                            TreeView1.Nodes(0).Nodes(subnode - 1).Nodes.Add(TreeViewSubNote)
                            subsubnote = subsubnote + 1
                        End If
                        Dim secondattribute As String = reader("item")
                        TreeViewSubSubNote = secondattribute
                        If TreeViewSubNote = TreeViewSubNote And TreeViewSubSubNote IsNot Nothing Then
                            TreeView1.Nodes(0).Nodes(subnode - 1).Nodes(subsubnote - 1).Nodes.Add(TreeViewSubSubNote)
                            'Filename = reader.Value.Trim()
                        End If
                    End If

                    'If TreeViewNote = TreeViewNote And TreeViewSubNote IsNot Nothing Then
                    'ComBo_PrinterModel.Items.Add(TreeViewSubNote)
                    'End If

                End If

            End While

        End Using

    End If

End Sub

Класс CLASS XMLReader уже существует, но я хочу добавить его и к нему, и понятия не имею.

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...