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) 有时候需要让窗口中某一块的内容全屏显示,比如视频播放.地图等等.经过摸索,暂时发现两种可行方法, ...
随机推荐
- JS正则表达式元字符
https://segmentfault.com/a/1190000002471140
- JQuery mobile中按钮自定义属性的改变
1..ui-mobile-viewport是jquery mobile默认给body加的class,这样的话包含选择符优先级高一点 <style> .ui-mobile-viewport ...
- html5新增标签及兼容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C++中的 :: 用法
::是运算符中等级最高的,它分为三种:1)global scope(全局作用域符),用法(::name)2)class scope(类作用域符),用法(class::name)3)namespace ...
- 错误:The method replace(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, MyFragment)
Fragment newfragment =new MyFragment();fragmentTransaction.replace(R.layout.activity_main,newfragmen ...
- linux 使用 nvidia 的 gpu
第一种方法: [Wizard@Wizard ~]$ nvidia-detect kmod-nvidiaOptimus hardware detected: An Intel display contr ...
- Mybatis Collection查询集合只出现一条数据
1.原因 如果两表联查,主表和明细表的主键都是id的话,明细表的多条只能查询出来第一条. 2.解决办法 级联查询的时候,主表和从表有一样的字段名的时候,在mysql上命令查询是没问题的.但在mybat ...
- javascript的几种继承
1.原型链继承:构造函数.原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针.确认原型和实例之间的关系用instanceof. ...
- CAEmitterLayer实现雪花效果
CAEmitterLayer 简介 在iOS5.0中,Apple引入了CAEmitterLayer层,CAEmitterLayer是一个高性能的粒子效果引擎,被用来创建实时粒子动画,如:烟雾,火,雨等 ...
- Caffe初试(三)使用caffe的cifar10网络模型训练自己的图片数据
由于我涉及一个车牌识别系统的项目,计划使用深度学习库caffe对车牌字符进行识别.刚开始接触caffe,打算先将示例中的每个网络模型都拿出来用用,当然这样暴力的使用是不会有好结果的- -||| ,所以 ...