温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中怎么操作TreeView组件

发布时间:2021-07-07 17:33:50 来源:亿速云 阅读:194 作者:Leah 栏目:编程语言

C#中怎么操作TreeView组件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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. }  

关于C#中怎么操作TreeView组件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI