Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode criar um nó derivado em um controle do Windows Forms TreeView ou um item derivado em um controle ListView. A derivação permite que você adicione todos os campos necessários, bem como métodos e construtores personalizados para lidar com eles. Um uso desse recurso é anexar um objeto Customer a cada nó de árvore ou item de lista. Os exemplos aqui são para um TreeView controle, mas a mesma abordagem pode ser usada para um ListView controle.
Para derivar um nó de árvore
Crie uma nova classe de nó derivada da classe TreeNode, que possui um campo personalizado para armazenar um caminho de arquivo.
Class myTreeNode Inherits TreeNode Public FilePath As String Sub New(ByVal fp As String) MyBase.New() FilePath = fp Me.Text = fp.Substring(fp.LastIndexOf("\")) End Sub End Classclass myTreeNode : TreeNode { public string FilePath; public myTreeNode(string fp) { FilePath = fp; this.Text = fp.Substring(fp.LastIndexOf("\\")); } }ref class myTreeNode : public TreeNode { public: System::String ^ FilePath; myTreeNode(System::String ^ fp) { FilePath = fp; this->Text = fp->Substring(fp->LastIndexOf("\\")); } };
Para usar um nó de árvore derivado
Você pode usar o novo nó de árvore derivada como um parâmetro para chamadas de função.
No exemplo abaixo, o caminho definido para o local do arquivo de texto é a pasta Meus Documentos. Isso é feito porque você pode assumir que a maioria dos computadores que executam o sistema operacional Windows incluirá esse diretório. Isso também permite que usuários com níveis mínimos de acesso do sistema executem o aplicativo com segurança.
' You should replace the bold text file ' in the sample below with a text file of your own choosing. TreeView1.Nodes.Add(New myTreeNode (System.Environment.GetFolderPath _ (System.Environment.SpecialFolder.Personal) _ & "\ TextFile.txt ") )// You should replace the bold text file // in the sample below with a text file of your own choosing. // Note the escape character used (@) when specifying the path. treeView1.Nodes.Add(new myTreeNode(System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal) + @"\TextFile.txt") );// You should replace the bold text file // in the sample below with a text file of your own choosing. treeView1->Nodes->Add(new myTreeNode(String::Concat( System::Environment::GetFolderPath (System::Environment::SpecialFolder::Personal), "\\TextFile.txt")));Se você passar o nó de árvore e ele for digitado como uma TreeNode classe, você precisará converter para sua classe derivada. A conversão explícita é a transformação de um tipo de objeto para outro. Para obter mais informações sobre conversões, consulte Conversões implícitas e explícitas (Visual Basic), Conversões e tipos (Visual C#) ou Operador de cast: () (Visual C++).
Public Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect Dim mynode As myTreeNode mynode = CType(e.node, myTreeNode) MessageBox.Show("Node selected is " & mynode.filepath) End Subprotected void treeView1_AfterSelect (object sender, System.Windows.Forms.TreeViewEventArgs e) { myTreeNode myNode = (myTreeNode)e.Node; MessageBox.Show("Node selected is " + myNode.FilePath); }private: System::Void treeView1_AfterSelect(System::Object ^ sender, System::Windows::Forms::TreeViewEventArgs ^ e) { myTreeNode ^ myNode = safe_cast<myTreeNode^>(e->Node); MessageBox::Show(String::Concat("Node selected is ", myNode->FilePath)); }
Consulte também
.NET Desktop feedback