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) 有时候需要让窗口中某一块的内容全屏显示,比如视频播放.地图等等.经过摸索,暂时发现两种可行方法, ...
随机推荐
- poj 1141
简单的dp 忘了\n,调了半天(目测不是第一次了) 直接贴代码: #include<cstdio> #include<cstring> using namespace std; ...
- Java Native Interface 二 JNI中对Java基本类型和引用类型的处理
本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 Java编程里会使用到两种类型:基本类型(如 ...
- EasyUI创建异步树形菜单和动态添加标签页tab
创建异步树形菜单 创建树形菜单的ul标签 <ul class="easyui-tree" id="treeMenu"> </ul> 写j ...
- ecshop二次开发常用代码
通过index控制循环次数.在循环中将index作为if的判断条件,对循环进行控制.这里index是从0开始的.如果index<2,会进行两次循环. <!--{foreach from=$ ...
- linux 用户创建、管理、权限分配
(1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...
- NameError: name 'sys_platform' is not defined
pip install --upgrade distribute
- Android adapter适配器的学习
学习Android有一点时间,说说自己的学习感悟. 首先呢,先说说适配器的作用,顾名思义,它就是把数据定义好一定的规则,使得我们可以用到ListView GridView等上面 所以说这玩意,还是得好 ...
- hdu 1501 Zipper
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1501 思路:题目要求第三个串由前两个组成,且顺序不能够打乱,搜索大法好 #include<cstdi ...
- CSS3颜色渐变模式
1.线性渐变:linear-gradient 语法:<linear-gradient> = linear-gradient([ [ <angle> | to <si ...
- Sql Server 中锁的概念
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏 ...