1、System.Windows.Forms 的层次结构,在树图中显示在 Visual Studio 中新建 Winform 应用程序 YlqForm,新建一个 windows 窗体GetClassForm,窗体 GetClassForm 中加入 TreeView:tvList,RichTextBox: richTextBox1,Button:btnFind,以及两个 Label 如下图所示:程序源代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using
2、System.Drawing;using System.Text;using System.Windows.Forms;namespace YlqFormpublic partial class GetClassForm : FormDataTable dtClass = new DataTable();public GetClassForm()InitializeComponent();/ / 获得System.Windows.Forms类的层次表/ 返回数据表的列名有:ClassName,BaseClassName,Remark/ / private DataTable GetDataTa
3、ble() DataTable dt = new DataTable();/* 列ClassName -类名如Label* 列BaseClassName -基类名如Control。联合为一起即Label : Control* 列Remark -类(如:Label)的详细说明*/dt.Columns.Add(“ClassName“, typeof(string);dt.Columns.Add(“BaseClassName“, typeof(string); dt.Columns.Add(“Remark“, typeof(string);/* 数据详细行* 依次输入ClassName、BaseCl
4、assName、Remark* 如“Label“,“Control“,“表示标准Windows 标签。“*/#region 层次结构的根dt.Rows.Add(“System.MarshalByRefObject“, “System.Object“, “允许在支持远程处理的应用程序中跨应用程序域边界访问对象。“); dt.Rows.Add(“Component“, “System.MarshalByRefObject“, “提供System.ComponentModel.IComponent 接口的基实现并启用应用程序之间的对象共享。“);#endregion#region 基本System.
5、Windows.Forms控件类dt.Rows.Add(“Button“, “ButtonBase“, “表示Windows 按钮控件。“);dt.Rows.Add(“CheckBox“, “ButtonBase“, “表示Windows System.Windows.Forms.CheckBox“);dt.Rows.Add(“CheckedListBox“, “ListBox“, “显示一个System.Windows.Forms.ListBox,其中在每项的左边显示一个复选框。“);dt.Rows.Add(“ColorDialog“, “CommonDialog“, “表示一个通用对话框,
6、该对话框显示可用的颜色以及允许用户定义自定义颜色的控件。“);dt.Rows.Add(“ComboBox“, “ListControl“, “表示Windows 组合框控件。“);dt.Rows.Add(“ContextMenuStrip“, “ToolStripDropDownMenu“, “表示快捷菜单。“);dt.Rows.Add(“DataGridView“, “Control“, “在可自定义的网格中显示数据。“);dt.Rows.Add(“DateTimePicker“, “Control“, “表示一个Windows 控件,该控件用来让用户选择日期和时间并以指定的格式显示此日期和
7、时间。“);dt.Rows.Add(“DomainUpDown“, “UpDownBase“, “表示显示字符串值的Windows 数字显示框(也称为up-down 控件)。“);dt.Rows.Add(“ErrorProvider“, “Component“, “提供用于指示窗体上的控件具有关联错误的用户界面。“);dt.Rows.Add(“EventLog“, “Component“, “提供与Windows 事件日志的交互。“); /System.Diagnostics.EventLogdt.Rows.Add(“FlowLayoutPanel“, “Panel“, “表示一个沿着水平或垂
8、直方向动态排放其内容的面板。“);dt.Rows.Add(“FolderBrowserDialog“, “CommonDialog“, “提示用户选择文件夹。无法继承此类。“);dt.Rows.Add(“FontDialog“, “CommonDialog“, “提示用户从本地计算机上安装的字体中选择一种字体。“);dt.Rows.Add(“GroupBox“, “Control“, “表示一个Windows 控件,该控件显示围绕一组具有可选标题的控件的框架。“);dt.Rows.Add(“HelpProvider“, “Component“, “提供控件的弹出或联机帮助。“);dt.Rows
9、.Add(“HScrollBar“, “ScrollBar“, “表示一个标准Windows 水平滚动条。“);dt.Rows.Add(“ImageList“, “Component“, “提供管理System.Drawing.Image 对象集合的方法。无法继承此类。“);dt.Rows.Add(“Label“, “Control“, “表示标准Windows 标签。“);dt.Rows.Add(“LinkLabel“, “Label“, “表示可显示超链接的Windows 标签控件。“);dt.Rows.Add(“ListBox“, “ListControl“, “表示用于显示项列表的Wi
10、ndows 控件。“);dt.Rows.Add(“ListView“, “Control“, “表示Windows 列表视图控件,该控件显示可用四种不同视图之一显示的项集合。“);dt.Rows.Add(“MaskedTextBox“, “TextBoxBase“, “使用掩码区分正确和不正确的用户输入。“);dt.Rows.Add(“MenuStrip“, “ToolStrip“, “提供窗体的菜单系统。“);dt.Rows.Add(“MonthCalendar“, “Control“, “表示一个Windows 控件,该控件使用户能够使用可视月历显示来选择日期。“);dt.Rows.Add
11、(“NotifyIcon“, “NotifyIcon“, “指定在通知区域中创建图标的组件。无法继承此类。“);dt.Rows.Add(“NumericUpDown“, “UpDownBase“, “表示显示数值的Windows 数字显示框(也称作up-down 控件)。“);dt.Rows.Add(“OpenFileDialog“, “FileDialog“, “提示用户打开文件。无法继承此类。“);dt.Rows.Add(“PageSetupDialog“, “CommonDialog“, “允许用户更改与页面相关的打印设置,包括边距和纸张方向。无法继承此类。“);dt.Rows.Add(
12、“Panel“, “ScrollableControl“, “用于对控件集合进行分组。“);dt.Rows.Add(“PerformanceCounter“, “Component“, “表示Windows NT 性能计数器组件。“);/System.Diagnostics.PerformanceCounterdt.Rows.Add(“PictureBox“, “Control“, “表示用于显示图像的Windows 图片框控件。“);dt.Rows.Add(“PrintDialog“, “CommonDialog“, “允许用户从Windows 窗体应用程序中选择一台打印机,并选择文档中要打
13、印的部分。“);dt.Rows.Add(“PrintPreviewControl“, “Control“, “表示Windows 窗体应用程序打印预览的原始预览部分,没有任何对话框或按钮。“);dt.Rows.Add(“Process“, “Component“, “提供对本地和远程进程的访问并使您能够启动和停止本地系统进程。“);/System.Diagnostics.Processdt.Rows.Add(“ProgressBar“, “Control“, “表示Windows 进度栏控件。“);dt.Rows.Add(“PropertyGrid“, “ContainerControl“,
14、“提供用于浏览对象属性的用户界面。“);dt.Rows.Add(“RadioButton“, “ButtonBase“, “当与其他System.Windows.Forms.RadioButton 控件成对出现时,使用户能够从一组选项中选择一个选项。“);dt.Rows.Add(“RichTextBox“, “TextBoxBase“, “表示Windows 多格式文本框控件。“);dt.Rows.Add(“SaveFileDialog“, “FileDialog“, “提示用户选择文件的保存位置。无法继承此类。“);dt.Rows.Add(“SerialPort“, “Component“,
15、 “表示串行端口资源。“);/System.IO.Ports.SerialPortdt.Rows.Add(“ServiceController“, “Component“, “表示Windows 服务并允许连接到正在运行或者已停止的服务、对其进行操作或获取有关它的信息。“); /System.ServiceProcess.ServiceController; /需要添加引用dt.Rows.Add(“SplitContainer“, “ContainerControl“, “表示一个由可移动条组成的控件,该可移动条将容器的显示区域分成两个大小可调的面板。“);dt.Rows.Add(“Statu
16、sStrip“, “ToolStrip“, “表示Windows 状态栏控件。“);dt.Rows.Add(“TabControl“, “Control“, “管理相关的选项卡页集。“);dt.Rows.Add(“TableLayoutPanel“, “Panel“, “表示一个面板,它可以在一个由行和列组成的网格中对其内容进行动态布局。“);dt.Rows.Add(“TextBox“, “TextBoxBase“, “表示Windows 文本框控件。“);dt.Rows.Add(“Timer“, “Component“, “实现按用户定义的时间间隔引发事件的计时器。此计时器最宜用于Windo
17、ws 窗体应用程序中,并且必须在窗口中使用。“);/System.Windows.Forms.Timerdt.Rows.Add(“ToolStrip“, “ScrollableControl“, “为Windows 工具栏对象提供容器。“);dt.Rows.Add(“ToolStripContainer“, “ContainerControl“, “在窗体的每一侧提供面板,并提供可以容纳一个或多个控件的中间面板。“);dt.Rows.Add(“TrackBar“, “Control“, “表示一个标准的Windows 跟踪条。“);dt.Rows.Add(“TreeView“, “Contro
18、l“, “显示标记项的分层集合,每个标记项用一个System.Windows.Forms.TreeNode 来表示。“);dt.Rows.Add(“VScrollBar“, “ScrollBar“, “表示标准的Windows 垂直滚动条。“);dt.Rows.Add(“WebBrowser“, “WebBrowserBase“, “使用户可以在窗体中导航网页。“);dt.Rows.Add(“ReportViewer“, “UserControl“, “封装用于ReportViewer 控件的方法和属性。“);/Microsoft.Reporting.WinForms.ReportViewer
19、dt.Rows.Add(“Form“, “ContainerControl“, “表示组成应用程序的用户界面的窗口或对话框。“);#endregion#region System.Windows.Forms控件类的基类dt.Rows.Add(“ButtonBase“, “Control“, “实现按钮控件共同的基本功能。“);dt.Rows.Add(“ListControl“, “Control“, “为System.Windows.Forms.ListBox 类和System.Windows.Forms.ComboBox 类提供一个共同的成员实现方法。“);dt.Rows.Add(“Comm
20、onDialog“, “Component“, “指定用于在屏幕上显示对话框的基类。“);dt.Rows.Add(“Control“, “Component“, “定义控件的基类,控件是带有可视化表示形式的组件。实现了定义鼠标事件IDropTarget。“);dt.Rows.Add(“UpDownBase“, “ContainerControl“, “实现数字显示框(也称为up-down 控件)所需的基本功能。“);dt.Rows.Add(“ScrollBar“, “Control“, “实现滚动条控件的基本功能。“);dt.Rows.Add(“TextBoxBase“, “Control“,
21、 “实现文本控件要求的基本功能。“);dt.Rows.Add(“FileDialog“, “CommonDialog“, “显示一个用户可从中选择文件的对话框窗口。“);dt.Rows.Add(“ContainerControl“, “ScrollableControl“, “为可用作其他控件的容器的控件提供焦点管理功能。“);dt.Rows.Add(“ScrollableControl“, “Control“, “为支持自动滚动行为的控件定义一个基类。“);dt.Rows.Add(“WebBrowserBase“, “Control“, “为泛型ActiveX 控件提供包装以便由System
22、.Windows.Forms.WebBrowser 控件用作基类。“);dt.Rows.Add(“UserControl“, “ContainerControl“, “提供一个可用来创建其他控件的空控件。“);dt.Rows.Add(“ToolStripDropDownMenu“, “ToolStripDropDown“, “提供System.Windows.Forms.ContextMenuStrip 控件的基本功能。“);dt.Rows.Add(“ToolStripDropDown“, “ToolStrip“, “表示当用户单击System.Windows.Forms.ToolStripD
23、ropDownButton 时,使用户可以从列表中选择单个项的控件。“);#endregionreturn dt;/ / 查看按钮的点击事件/ private void btnFind_Click(object sender, EventArgs e)/System.Object为根节点tvList.Nodes.Clear();TreeNode rootNode = tvList.Nodes.Add(“System.Object“);rootNode.Tag = “支持.NET Framework 类层次结构中的所有类,并为派生类提供低级别服务。这是.NET Framework 中所有类的最终
24、基类;它是类型层次结构的根。“;DataTable dt = GetNewDataTable(dtClass, string.Format(“BaseClassName=0“, “System.Object“);BindTreeView(dt, rootNode.Nodes);tvList.ExpandAll();/ / 绑定TreeView/ / 满足父节点的表/ 节点的集合public void BindTreeView(DataTable dt, TreeNodeCollection nodes) for (int i = 0; i 0) BindTreeView(subDataTabl
25、e, tempNode.Nodes);/ / 执行DataTable中的查询返回新的DataTable/ / 源数据DataTable/ 查询条件如id=a5/ public static DataTable GetNewDataTable(DataTable dt, string condition)DataTable newdt = new DataTable();newdt = dt.Clone();DataRow dr = dt.Select(condition);for (int i = 0; i / 窗体GetClassForm的Load事件/ private void GetCl
26、assForm_Load(object sender, EventArgs e)dtClass = GetDataTable();/ / 在选定树节点后发生。/ private void tvList_AfterSelect(object sender, TreeViewEventArgs e)if (tvList.SelectedNode = null) richTextBox1.Text = “;return;TreeNode node = tvList.SelectedNode;/子节点集合StringBuilder sb = new StringBuilder();for (int i
27、 = 0; i node.Nodes.Count; i+)sb.AppendFormat(“0:1n“, node.Nodesi.Text, Convert.ToString(node.Nodesi.Tag);richTextBox1.Text = string.Format(“当前类:0n说明:1nn继承的父类:n2:3nn子类列表:n4“,node.Text, Convert.ToString(node.Tag), node.Parent = null ? “ : node.Parent.Text,node.Parent = null ? “ : Convert.ToString(node.Parent.Tag), sb.ToString();程序运行后,点击“查看” 按钮结果截图:选中 TreeView 的一个节点,提示框将提示相应的信息:
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。