WinForm 中TreeView 控件的使用实例
新建一个窗体,在本窗体界面上需要以下几个按钮
(一个TreeView 一个 TextBox 三个Button 按钮)
后台代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
treeView1.Nodes.Clear();
TreeNode tree = new TreeNode("根节点");
treeView1.Nodes.Add(tree);
}
/// <summary>
/// 添加子节点的方法
/// </summary>
public void addChildCode()
{
//首先判断是否选中节点中的位置
if (treeView1.SelectedNode == null)
{
MessageBox.Show("请选择一个节点!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
if (textBox1.Text != "")
{
//创建一个节点对象并初始化
TreeNode tmp = new TreeNode(textBox1.Text);
//在TreeView组件中加入子节点
treeView1.SelectedNode.Nodes.Add(tmp);
treeView1.SelectedNode = tmp;
treeView1.ExpandAll();
}
else
{
MessageBox.Show("textbox组件必须填写节点名称!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
}
/// <summary>
/// 添加兄弟节点的方法
/// </summary>
public void addParent()
{
try
{
if (treeView1.SelectedNode == null)
{
MessageBox.Show("请选择一个节点!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
if (textBox1.Text != null)
{
//创建一个节点对象并且初始化
TreeNode tmp = new TreeNode(textBox1.Text);
//在TreeView 组件中加入兄弟节点
treeView1.SelectedNode.Parent.Nodes.Add(tmp);
treeView1.ExpandAll();
}
else
{
MessageBox.Show("textbox组件必须填写节点名称!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
}
catch
{
TreeNode rmp = new TreeNode("根节点");
treeView1.Nodes.Add(rmp);
}
}
/// <summary>
/// 判断鼠标点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeView1_MouseDown(object sender, MouseEventArgs e)
{
//获取是否是鼠标右键点击
if (e.Button == MouseButtons.Right)
{
contextMenuStrip1.Show(this, new Point(e.X, e.Y));
}
}
/// <summary>
/// 展开下一节点
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
treeView1.SelectedNode.Expand();
}
/// <summary>
/// 展开全部节点
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
//定位根节点
treeView1.SelectedNode = treeView1.Nodes[];
//展开组件中的所有节点
treeView1.SelectedNode.ExpandAll();
}
/// <summary>
/// 折叠全部节点
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button3_Click(object sender, EventArgs e)
{
//定位根节点
treeView1.SelectedNode = treeView1.Nodes[];
//收缩组件中的所有节点
treeView1.SelectedNode.Collapse();
}
/// <summary>
/// 点击快捷菜单中的“加入子节点”菜单项,则调用用户自定义的addChildCode()方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 加入子节点ToolStripMenuItem_Click_1(object sender, EventArgs e)
{
addChildCode();
}
/// <summary>
/// 点击快捷菜单中的“加入兄弟节点”菜单项,则调用用户自定义的addParent()方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 加入兄弟节点ToolStripMenuItem_Click_1(object sender, EventArgs e)
{
addParent();
}
/// <summary>
/// 点击快捷菜单中的“删除节点”菜单项,则删除节点
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 删除节点ToolStripMenuItem_Click(object sender, EventArgs e)
{
)
{
treeView1.SelectedNode.Remove();
}
else
{
MessageBox.Show("请先删除此节点中的子节点!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}
WinForm 中TreeView 控件的使用实例的更多相关文章
- Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼
Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼标签: winform treeview drawnode Treeview控 ...
- C#Winform中treeView控件使用总结
1.如何展开结点时改变图标(注意:不是选中时) 要在目录中使用图标首先要加入一个控件ImageList(命名为imageList1),然后可以按图片的index或名称引用图片. 然后需要在TreeVi ...
- WinForm中TreeView控件实现鼠标拖动节点(可实现同级节点位置互换,或拖到目标子节点)
;//1:不同级, 不为1:拖同级 private void treeView1_ItemDrag(object sender, ItemDragEventArgs e) { if (e.Button ...
- C#之Winform中treeview控件绑定数据库
private DataSet ds; private SqlDataAdapter sqlDataAdapter1; private int maxnodeid; private void Form ...
- Winform中checklistbox控件的常用方法
Winform中checklistbox控件的常用方法最近用到checklistbox控件,在使用其过程中,收集了其相关的代码段1.添加项checkedListBox1.Items.Add(" ...
- [C#]WinForm 中 comboBox控件之数据绑定
[C#]WinForm 中 comboBox控件之数据绑定 一.IList 现在我们直接创建一个List集合,然后绑定 IList<string> list = new List<s ...
- Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式
首先是头文件,内容如下: #include <tchar.h> #include "..\CommonFiles\CmnHdr.h" #include <Wind ...
- C#winform中使用控件的Dock属性进行布局
想要实现如下布局,可以通过设置控件的Dock属性达到效果 1.拖放一个panel控件一个label控件(放在panel中)和一个treeView控件到TestForm中 2.设置panel的Dock属 ...
- C# WinForm中 让控件全屏显示的实现代码
夏荣全 ( lyout(at)163.com )原文 C#中让控件全屏显示的实现代码(WinForm) 有时候需要让窗口中某一块的内容全屏显示,比如视频播放.地图等等.经过摸索,暂时发现两种可行方法, ...
随机推荐
- PHP 的异常处理、错误处理:error_reporting,try-catch,trigger_error,set_error_handler,set_exception_handler,register_shutdown_function
一.错误.异常 等级常量表 error:不能在编译期发现的运行期错误,比如试图用 echo 输出一个未赋值的变量,这类问题往往导致程序或逻辑无法继续下去而需要中断: exception:程序执行过程中 ...
- delphi xe4 程序添加管理员权限要求后不能调试的解决方法
环境: win7 企业版 xe4 问题: 把项目设置为需要管理员权限才能运行后,调试会弹出一个提示框,如图:
- ASM:《X86汇编语言-从实模式到保护模式》第16章:Intel处理器的分页机制和动态页面分配
第16章讲的是分页机制和动态页面分配的问题,说实话这个一开始接触是会把人绕晕的,但是这个的确太重要了,有了分页机制内存管理就变得很简单,而且能直接实现平坦模式. ★PART1:Intel X86基础分 ...
- 编辑 Ext 表格(一)——— 动态添加删除行列
一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除. (1) 动态添加表格的行 gridS ...
- Javascript获取select下拉框选中的的值
现在有一id=test的下拉框,怎么拿到选中的那个值呢? 分别使用javascript原生的方法和jquery方法 <select id="test" name=" ...
- MAC OS terminal 快捷键记录
Command + K 清屏 Command + T 新建标签 Command +W 关闭当前标签页 Command + S 保存终端输出 Command + D 垂直分隔当前标签页 Comma ...
- GitHub团队项目合作流程
已在另一篇博客中写出关于以下问题的解决,点此进入: 同步团队项目到本地时出现冲突怎么办? 项目负责人merge一个Pull Request后发现有错怎么回退? 目录: 零.前期准备 一.创建开发分支 ...
- MongoDB的用户管理(6)
注意: A)在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据. 即 use admin , -->相当于进入超级用户管理模式. B)mongo ...
- 解决 SVN Skipped 'xxx' -- Node remains in conflict
svn 提交报错 提交命令: svn update 提示代码: Skipped 'ApiController.php' -- Node remains in conflict At revision ...
- 【Java EE 学习 32 下】【JQuery】【JQuey中的DOM操作】
一.JQuery中的DOM操作. 什么是DOM:DOM是一中和浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件.DOM简称文档对象模型,是Document Oject Mode ...