Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan skapa en härledd nod i en Windows Forms-TreeView-kontroll eller ett härlett objekt i en ListView kontroll. Med härledning kan du lägga till alla fält som du behöver, samt anpassade metoder och konstruktorer för att hantera dem. En användning av den här funktionen är att koppla ett kundobjekt till varje trädnod eller listobjekt. Exemplen här är för en TreeView kontroll, men samma metod kan användas för en ListView kontroll.
Härled en trädnod
Skapa en ny nodklass, härledd från klassen TreeNode, som har ett anpassat fält för att registrera en filsökväg.
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("\\")); } };
Att använda en härledd trädnod
Du kan använda den nya härledda trädnoden som en parameter i funktionsanrop.
I exemplet nedan är sökvägen som angetts för platsen för textfilen mappen Mina dokument. Detta görs eftersom du kan anta att de flesta datorer som kör Windows-operativsystemet kommer att innehålla den här katalogen. Detta gör det också möjligt för användare med minimala systemåtkomstnivåer att köra programmet på ett säkert sätt.
' 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")));Om du skickas till trädnoden och den skrivs som en TreeNode-klass måste du casta till din härledda klass. Gjutning är en explicit konvertering från en typ av objekt till en annan. Mer information om typkonvertering finns i Implicita och explicita konverteringar (Visual Basic), Typomvandling och typkonverteringar (Visual C#) eller Cast Operator: () (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)); }
Se även
.NET Desktop feedback