---恢复内容开始---
类介绍:
TreeNode 类
treeNode --树节点
在.NET中treeNode 可以用来做一个树模型来展示信息或者数据内容。
优点:逐级显示内容,层次分明
缺点:繁琐,需要重复性的进行实例
属性:
nodeName --节点名称
selectedNode --选中节点
Nodes --节点集合
方法:
Add() --添加节点
clear() --删除节点
事件:
Afterselct --节点发生改变
案例介绍:
输入根节点输入子节点自动生成
展示生成节点
输出生成的信息
代码:
private void btAdd_Click(object sender, EventArgs e)
{
//根节点数目
int zNode =Convert.ToInt32( this.tb1.Text);
//子节点数目
int xNode = Convert.ToInt32(this.tb2.Text);
for(int x=0;x
{
//在树组中添加根节点 名字为“父节点+x+1”
TreeNode tn = this.treeView1.Nodes.Add("父节点" + (x + 1).ToString());
outPut("添加父节点" + (x + 1).ToString());
for (int y = 0; y < xNode; y++)
{
//在根节点中添加子节点
TreeNode zTn=new TreeNode("子节点" +(y+1).ToString());
tn.Nodes.Add(zTn);
outPut("添加" + treeView1.SelectedNode + "的子节点" + (y + 1).ToString());
}
}
outPut("此次生成父节点共" + zNode + "个");
outPut("此次生成子节点共" + (zNode * xNode) + "个");
this.tb1.Clear();
this.tb2.Clear();
}
///
/// 清除按钮
/// 功能:清除节点
///
///
///
private void btClear_Click(object sender, EventArgs e)
{
outPut("删除所有节点");
//清除所有节点
treeView1.Nodes.Clear();
}
///
/// 删除按钮
/// 功能:删除节点
///
///
///
private void btDel_Click(object sender, EventArgs e)
{
outPut("删除所选节点:" + treeView1.SelectedNode.Text);
treeView1.Nodes.Remove(this.treeView1.SelectedNode);
}
public void outPut(string log)
{
//如果文本超过100行则自动清空
if (this.tbLog.GetLineFromCharIndex(tbLog.Text.Length) > 100)
{
tbLog.Text = "";
}
this.tbLog.AppendText(DateTime.Now.ToString("HH:mm:ss") + log + "\r\n");
}
///
/// 更改选定后发生
///
///
///
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
//输出所选节点的文本名
outPut("所选节点为:" + e.Node.Text);
}
///
/// 重命名窗口---未完成
/// 控件的定位问题
///
///
///
private void 重命名ToolStripMenuItem_Click(object sender, EventArgs e)
{
//编辑选中节点
this.treeView1.SelectedNode.BeginEdit();
//outPut("修改节点名称为:" + treeView1.SelectedNode.Text);
}
///
/// 鼠标双击进入编辑模式
///
///
///
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
//节点编辑
this.treeView1.SelectedNode.BeginEdit();
}
///
/// 将选中节点移除
///
///
///
private void 移除节点ToolStripMenuItem_Click(object sender, EventArgs e)
{
outPut("移除节点:" + this.treeView1.SelectedNode + "成功");
this.treeView1.SelectedNode.Remove();
}
///
/// 打印.txt文件
/// 问题:文件路径不好控制
/// 问题2:文件名称不好控制
/// 思路:路径需要重新了解fileStream类
/// 思路2:文件名称可以使用时间
///
///
///
private void btPutLog_Click(object sender, EventArgs e)
{
//写入信息
Directory.CreateDirectory("D:/tStudyLog");
FileStream fs1 = new FileStream("D:/tStudyLog/Log.txt", FileMode.Create, FileAccess.Write);//创建写入文件
StreamWriter sw = new StreamWriter(fs1);
sw.WriteLine(this.tbLog.Text.Trim() + this.tbLog.Text);//开始写入值
sw.Close();
fs1.Close();
MessageBox.Show("日志文件已生成");
}
---恢复内容结束---