treeview中能不能为每个Node设置一个隐含的值? 可以放到TreeNode的Tag属性中。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用tag属性 如:node1.tag=12; 引用 int a=0; a=(int)node1.tag; 向 TreeView 或 ListView 控件添加自定义信息(Windows 窗体)可以在 Windows 窗体 TreeView 控件中创建派生节点,或在 ListView 控件中创建派生项。派生使您得以添加任何所需的字段,和添加处理这些字段的自定义方法和构造函数。此功能的用途之一是将客户对象附加到每个树节点或列表项。此处的示例是针对 TreeView 控件的,但同样的方法也可用于 ListView 控件。Visual Basic 注释 派生节点使您得以创建 Visual Basic 6.0 Tag 属性的功能。派生树节点 创建一个从 TreeNode 类派生的新节点类,这个新节点类具有一个记录文件路径的自定义字段。 // C#class myTreeNode : TreeNode{ public string FilePath; public myTreeNode(string fp) { FilePath = fp; this.Text = fp.Substring(fp.LastIndexOf("\\")); }}使用派生的树节点 新的派生树节点可用作函数调用的参数。 // C#tv.Nodes.Add(new myTreeNode("c:\\duff.txt"));如果传递了这个树节点且它被声明为 TreeNode 类类型,则需要将它转换为您的派生类类型。类型转换是从一种对象类型到另一种对象类型的显式转换。有关强制转换的更多信息,请参阅隐式转换和显式转换 (Visual Basic) 或 () 运算符 (Visual C#)。 //C#protected void treeView1_AfterSelect (object sender,System.Windows.Forms.TreeViewEventArgs e){ myTreeNode myNode = (myTreeNode)e.Node; MessageBox.Show("Node selected is " + myNode.Filepath);} 有两种方法:如果是简单的值,可以放入可以放到TreeNode的Tag属性中。如果是较为复杂的,可将这些值封装为一个类或结构,然后放入TreeNode的Object属性中,此属性中可放入一个类或结构,当要取出此类时,可用显式转换,如下:MyClass c1 = new MyClass();//初始化略TreeNode n1 = new TreeNode();//将c1加入到TreeNode中n1.Object = c1;//...//...//取出c1MyClass c2 = new MyClass();c2 = (MyClass)n1.Object 为什么这段代码会失去响应,我是C#菜鸟 如何给panel边框加粗 c#操作excel后保存的问题! 正规表达式-----------------------在线求解 datalist 问题 如何读取lotus notes里邮件的附件信息 webservice的问题 在C#中怎样对一个字符串进行截取其中的某一部分? 句柄 在mdi中如何实现子窗体只有一个实例? 剪贴板问题 关于c#中的程序打包问题!
如:node1.tag=12;
引用 int a=0;
a=(int)node1.tag;
可以在 Windows 窗体 TreeView 控件中创建派生节点,或在 ListView 控件中创建派生项。派生使您得以添加任何所需的字段,和添加处理这些字段的自定义方法和构造函数。此功能的用途之一是将客户对象附加到每个树节点或列表项。此处的示例是针对 TreeView 控件的,但同样的方法也可用于 ListView 控件。Visual Basic 注释 派生节点使您得以创建 Visual Basic 6.0 Tag 属性的功能。
派生树节点 创建一个从 TreeNode 类派生的新节点类,这个新节点类具有一个记录文件路径的自定义字段。 // C#
class myTreeNode : TreeNode
{
public string FilePath; public myTreeNode(string fp)
{
FilePath = fp;
this.Text = fp.Substring(fp.LastIndexOf("\\"));
}
}
使用派生的树节点 新的派生树节点可用作函数调用的参数。 // C#
tv.Nodes.Add(new myTreeNode("c:\\duff.txt"));
如果传递了这个树节点且它被声明为 TreeNode 类类型,则需要将它转换为您的派生类类型。类型转换是从一种对象类型到另一种对象类型的显式转换。有关强制转换的更多信息,请参阅隐式转换和显式转换 (Visual Basic) 或 () 运算符 (Visual C#)。 //C#
protected void treeView1_AfterSelect (object sender,
System.Windows.Forms.TreeViewEventArgs e)
{
myTreeNode myNode = (myTreeNode)e.Node;
MessageBox.Show("Node selected is " + myNode.Filepath);
}
如果是较为复杂的,可将这些值封装为一个类或结构,然后放入TreeNode的Object属性中,此属性中可放入一个类或结构,当要取出此类时,可用显式转换,如下:
MyClass c1 = new MyClass();
//初始化略
TreeNode n1 = new TreeNode();
//将c1加入到TreeNode中
n1.Object = c1;
//...
//...
//取出c1
MyClass c2 = new MyClass();
c2 = (MyClass)n1.Object