新手求教TreeView控件问题
我是新手照着书去打代码的,有几个地方不明白,还有一个错误 又不会改 请高手帮忙
private void Form1_Load(object sender, EventArgs e)
{
this.InitTreeView(this.treeView1);
this.AddNode(this.treeView1);
}
private void button1_Click(object sender, EventArgs e)
{
this.treeView1.ExpandAll();
}
private void button2_Click(object sender, EventArgs e)
{
this.treeView1.CollapseAll();
}
public class Book
{
public string BookName = string.Empty;
public string Author = string.Empty;
public string Price = string.Empty;
}
private void InitTreeView(TreeView treeView)
{
treeView.CheckBoxes = false;
treeView.FullRowSelect = true;
ImageList imagelist = new ImageList();
imagelist.Images.Add(new Icon ("0.ico"));
imagelist.Images.Add(new Icon ("1.ico"));
imagelist.Images.Add(new Icon ("2.ico"));
treeView.ImageList = imagelist;
treeView.LabelEdit = false;
treeView.PathSeparator = "\\";
treeView.Scrollable = true;
treeView.ShowLines = true;
treeView.ShowPlusMinus = true;
treeView.ShowRootLines = true;
treeView.AfterSelect += new TreeViewEventHandler(treeView_AfterSelect);
}
void treeView_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Tag != null) //这里是什么意思啊?
{
Book book = e.Node.Tag as Book; //这里呢?
textBox1.Text = e.Node.FullPath;
textBox2.Text = book.BookName;
textBox3.Text = book.Author;
textBox4.Text = book.Price;
}
}
private void AddNode(TreeView treeView)
{
TreeNode MainNode = treeView.Nodes[0]; // 这里抛出错误: 指定的参数已超出有效值的范围。 要怎么办?
treeView.BeginUpdate();
MainNode.Nodes.Clear();
TreeNode Catalog1 = new TreeNode("计算机技术");
Catalog1.ImageIndex = 0;
Catalog1.SelectedImageIndex = 1;
Book Book1 = new Book();
Book1.BookName = "计算机技术";
Book1.Author = "小王";
Book1.Price = "20.00";
TreeNode BookNode1 = new TreeNode(Book1.BookName);
BookNode1.ImageIndex = 2;
BookNode1.SelectedImageIndex = 2;
BookNode1.Tag = Book1; // 这里也不是很明白。。
Book Book2 = new Book();
Book2.BookName = "windows技术";
Book2.Author = "小李";
Book2.Price = "30.00";
TreeNode BookNode2 = new TreeNode(Book2.BookName);
BookNode2.ImageIndex = 2;
BookNode2.SelectedImageIndex = 2;
BookNode2.Tag = Book2;
Catalog1.Nodes.Add(BookNode1);
Catalog1.Nodes.Add(BookNode2);
MainNode.Nodes.Add(Catalog1);
TreeNode Catalog2 = new TreeNode("文学小说");
Catalog2.ImageIndex = 0;
Catalog2.SelectedImageIndex = 1;
Book Book3 = new Book();
Book3.BookName = "love";
Book3.Author = "小张";
Book3.Price = "600";
TreeNode BookNode3 = new TreeNode(Book3.BookName);
BookNode3.ImageIndex = 2;
BookNode3.SelectedImageIndex = 2;
BookNode3.Tag = Book3;
Book Book4 = new Book();
Book4.Author = "eeeee";
Book4.BookName = "aaa";
Book4.Price = "5649";
TreeNode BookNode4 = new TreeNode(Book4.BookName);
BookNode4.ImageIndex = 2;
BookNode4.SelectedImageIndex = 2;
BookNode4.Tag = Book4;
Catalog2.Nodes.Add(BookNode3);
Catalog2.Nodes.Add(BookNode4);
MainNode.Nodes.Add(Catalog2);
treeView.EndUpdate();
}