C#编写操作TreeView组件剖析

C#语言有很多值得学习的地方,这里我们主要介绍C#编写操作TreeView组件,包括介绍加入子节点、兄弟节点、删除节点、折叠、展开等操作等方面。

创新互联公司是工信部颁发资质IDC服务器商,为用户提供优质的成都服务器托管服务

C#编写操作TreeView组件的例子:

下面是C#编写操作TreeView组件的例子,在这个例子中,结合以上介绍的常用方法和一般方法,基本覆盖来TreeView组件的一些最常用的操作。譬如可以灵活的程序中的TreeView组件中,进行加入子节点、兄弟节点、删除节点、折叠、展开等操作。其中前三种基本操作是通过程序中弹出菜单中的功能来实现的,后面操作是通过程序中的按钮来实现的。下面是此程序的代码节略(TreeView.cs):

 
 
 
  1. using System ;  
  2. using System.Drawing ;  
  3. using System.Collections ;  
  4. using System.ComponentModel ;  
  5. using System.Windows.Forms ;  
  6. using System.Data ;  
  7. namespace 全面掌握TreeView组件的使用方法  
  8. {  
  9. /// Form1 的摘要说明。  
  10. public class Form1 : Form  
  11. {  
  12. private TreeView treeView1 ;  
  13. private Button button1 ;  
  14. private Button button2 ;  
  15. private Button button3 ;  
  16. private MenuItem menuItem2 ;  
  17. private MenuItem menuItem3 ;  
  18. private MenuItem menuItem4 ;  
  19. private ContextMenu contextMenu1 ;  
  20. private TextBox textBox1 ;  
  21. private Label label1 ;  
  22. /// 必需的设计器变量。  
  23. private System.ComponentModel.Container components = null ;  
  24. public Form1 ( )  
  25. {  
  26. //初始化窗体中的组件  
  27. InitializeComponent ( ) ;  
  28. }  
  29. /// 清理所有正在使用的资源。  
  30. protected override void Dispose ( bool disposing )  
  31. {  
  32. if ( disposing )  
  33. {  
  34. if ( components != null )  
  35. {  
  36. components.Dispose ( ) ;  
  37. }  
  38. }  
  39. base.Dispose ( disposing ) ;  
  40. }  
  41. private void InitializeComponent ( )  
  42. {  
  43.    //初始化代码(略)  
  44. }  
  45. [ STAThread ]  
  46. static void Main ( )  
  47. {  
  48. Application.Run ( new Form1 ( ) ) ;  
  49. }  
  50. private void AddChildNode ( )  
  51. {  
  52. //首先判断是否选定组件中的位置  
  53. if ( treeView1.SelectedNode == null )  
  54. {  
  55. MessageBox.Show ( "请选择一个节点" , "提示信息" , 
    MessageBoxButtons.OK , MessageBoxIcon.Information ) ;  
  56. }  
  57. else  
  58. {  
  59. if ( textBox1.Text != "" )  
  60. {  
  61. //创建一个节点对象,并初始化  
  62. TreeNode tmp ;  
  63. tmp = new TreeNode ( textBox1.Text ) ;  
  64. //在TreeView组件中加入子节点  
  65. treeView1.SelectedNode.Nodes.Add ( tmp ) ;  
  66. treeView1.SelectedNode = tmp ;  
  67. treeView1.ExpandAll ( ) ;  
  68. }  
  69. else  
  70. {  
  71. MessageBox.Show ( "TextBox组件必须填入节点名称!" , "提示信息" , 
    MessageBoxButtons.OK , MessageBoxIcon.Information ) ;  
  72. return ;  
  73. }  
  74. }  
  75. }  
  76. private void AddParent ( )  
  77. {  
  78. //首先判断是否选定组件中节点的位置  
  79. if ( treeView1.SelectedNode == null )  
  80. {  
  81. MessageBox.Show ( "请选择一个节点" , "提示信息" , 
    MessageBoxButtons.OK , MessageBoxIcon.Information ) ;  
  82. }  
  83. else  
  84. {  
  85. if ( textBox1.Text != "" )  
  86. {  
  87. //创建一个节点对象,并初始化  
  88. TreeNode tmp ;  
  89. tmp = new TreeNode ( textBox1.Text ) ;  
  90. //在TreeView组件中加入兄弟节点  
  91. treeView1.SelectedNode.Parent.Nodes.Add ( tmp ) ;  
  92. treeView1.ExpandAll ( ) ;  
  93. }  
  94. else  
  95. {  
  96. MessageBox.Show ( "TextBox组件必须填入节点名称!" , "提示信息" , 
    MessageBoxButtons.OK , MessageBoxIcon.Information ) ;  
  97. return ;  
  98. }  
  99. }  
  100. TreeNode tnode = new TreeNode ( textBox1.Text ) ;  
  101. }  
  102. private void treeView1_MouseDown ( object sender , MouseEventArgs e )  
  103. {  
  104. if ( e.Button == MouseButtons.Right )  
  105. contextMenu1.Show ( this , new Point ( e.X , e.Y ) ) ;  
  106. }  
  107. private void button1_Click ( object sender , System.EventArgs e )  
  108. {  
  109. treeView1.SelectedNode.Expand ( ) ;  
  110. }  
  111. private void menuItem2_Click ( object sender , System.EventArgs e )  
  112. {  
  113. AddChildNode ( ) ;  
  114. }  
  115. private void menuItem3_Click ( object sender , System.EventArgs e )  
  116. {  
  117. AddParent ( ) ;  
  118. }  
  119. private void menuItem4_Click ( object sender , System.EventArgs e )  
  120. {  
  121. //判断选定的节点是否存在下一级节点  
  122. if ( treeView1.SelectedNode.Nodes.Count == 0 )  
  123. //删除节点  
  124. treeView1.SelectedNode.Remove ( ) ;  
  125. else  
  126. MessageBox.Show ( "请先删除此节点中的子节点!" , "提示信息" , 
    MessageBoxButtons.OK , MessageBoxIcon.Information ) ;  
  127. }  
  128. private void button2_Click ( object sender , System.EventArgs e )  
  129. {  
  130. //定位根节点  
  131. treeView1treeView1.SelectedNode = treeView1.Nodes [ 0 ] ;  
  132. //展开组件中的所有节点  
  133. treeView1.SelectedNode.ExpandAll ( ) ;  
  134. }  
  135. private void button3_Click ( object sender , System.EventArgs e )  
  136. {  
  137. //定位根节点  
  138. treeView1treeView1.SelectedNode = treeView1.Nodes [ 0 ] ;  
  139. //折叠组件中所有节点  
  140. treeView1.SelectedNode.Collapse ( ) ;  
  141. }  
  142. }  
  143. }  

【编辑推荐】

  1. C#窗体里调用浅谈
  2. C#调用ListEmployee命令
  3. C# CreateEmployeeDefinition()函数
  4. C#实现断点续传详细剖析
  5. C# Employee对象浅谈

本文题目:C#编写操作TreeView组件剖析
标题来源:http://www.shufengxianlan.com/qtweb/news38/484388.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联