当前位置: 首页 > news >正文

C#——控件

C#——控件

  • 前言
  • 一、TreeView(树状视图)
    • 1.节点(TreeNode)
    • 2.节点的添加
    • 3.节点的移除
    • 3.节点设置图标
    • 4.获取树控件中选中的节点
  • 二.DateTimePicker(日期控件)
    • 1.显示设置
    • 2.选定日期
    • 3.代码中获取日期


前言

记录一些常用的,使用稍复杂的控件。(有时间就更新)


一、TreeView(树状视图)

示例:
在这里插入图片描述
TreeView控件(树控件)可以为用户显示节点层次结构,每个节点又可以包含 子节点,包含子节点的节点叫父节点。就像在Windows操作系统的Windows资源管 理器功能的左窗口中显示文件和文件夹一样。
最小单元就是节点。

1.节点(TreeNode)

初始化:

namespace System.Windows.Forms
{
    public class TreeNode : MarshalByRefObject, ICloneable, ISerializable
    {
        //
        // 摘要:
        //     初始化 System.Windows.Forms.TreeNode 类的新实例。
        public TreeNode();
        //
        // 摘要:
        //     用指定的标签文本初始化 System.Windows.Forms.TreeNode 类的新实例。
        //
        // 参数:
        //   text:
        //     新的树节点的标签 System.Windows.Forms.TreeNode.Text。
        public TreeNode(string text);
        //
        // 摘要:
        //     用指定的标签文本和子树节点初始化 System.Windows.Forms.TreeNode 类的新实例。
        //
        // 参数:
        //   text:
        //     新的树节点的标签 System.Windows.Forms.TreeNode.Text。
        //
        //   children:
        //     子级 System.Windows.Forms.TreeNode 对象的数组。
        public TreeNode(string text, TreeNode[] children);
        //
        // 摘要:
        //     用指定的标签文本以及树节点处于选定和未选定状态时所显示的图像来初始化 System.Windows.Forms.TreeNode 类的新实例。
        //
        // 参数:
        //   text:
        //     新的树节点的标签 System.Windows.Forms.TreeNode.Text。
        //
        //   imageIndex:
        //     在取消选定树节点时显示的 System.Drawing.Image 的索引值。
        //
        //   selectedImageIndex:
        //     在选择树节点时显示的 System.Drawing.Image 的索引值。
        public TreeNode(string text, int imageIndex, int selectedImageIndex);
        //
        // 摘要:
        //     用指定的标签文本、子树节点以及树节点处于选定和未选定状态时所显示的图像来初始化 System.Windows.Forms.TreeNode 类的新实例。
        //
        // 参数:
        //   text:
        //     新的树节点的标签 System.Windows.Forms.TreeNode.Text。
        //
        //   imageIndex:
        //     在取消选定树节点时显示的 System.Drawing.Image 的索引值。
        //
        //   selectedImageIndex:
        //     在选择树节点时显示的 System.Drawing.Image 的索引值。
        //
        //   children:
        //     子级 System.Windows.Forms.TreeNode 对象的数组。
        public TreeNode(string text, int imageIndex, int selectedImageIndex, TreeNode[] children);
     
    }

2.节点的添加

使用TreeView或TreeNode的Nodes的Add方法;

            TreeNode tn = new TreeNode("1班");
            TreeNode tnn = new TreeNode("小明");
            tn.Nodes.Add(tnn);

3.节点的移除

1)使用TreeView或TreeNode的Nodes的Remove方法;

public class TreeNodeCollection : IList, ICollection, IEnumerable
{
        //
        // 摘要:
        //     从树节点集合中移除指定的树节点。
        //
        // 参数:
        //   node:
        //     要移除的 System.Windows.Forms.TreeNode。
        public void Remove(TreeNode node);
}
            tn.Nodes.Remove(tnn);

在这里插入图片描述
2)使用TreeNode自带的Remove方法;

    public class TreeNode : MarshalByRefObject, ICloneable, ISerializable
    {
        //
        // 摘要:
        //     从树视图控件中移除当前树节点。
        public void Remove();
    }
            tnn.Remove();

效果一样。

3.节点设置图标

TreeView控件可在每个节点旁显示图标。图标紧挨着节点文本的左侧。若要显示这些图标,必须使树 视图与ImageList控件相关联。为TreeView控件中的节点设置图标的步骤如下。
(1)设置TreeView控件的ImageList属性为想要使用的现有ImageList控件。
(2)设置节点的ImageIndex和SelectedImageIndex属性,ImageIndex属性确定正常和展开状态下的节点 显示的图像,SelectedImageIndex属性确定选定状态下的节点显示的图像。(在此仅设置了ImageIndex)

需要注意的是,节点设置了图标若其子节点不单独设置图标,则子节点图标将默认与节点相同。
在这里插入图片描述

        private void Form1_Load(object sender, EventArgs e)
        {
            imageList1.Images.Add(Image.FromFile(@"C:\Users\ZDH-XMXT-257\Downloads\1.jpeg"));
            imageList1.Images.Add(Image.FromFile(@"C:\Users\ZDH-XMXT-257\Downloads\2.jpeg"));

            treeView1.ImageList = imageList1;

            TreeNode tn = new TreeNode("1班");
            tn.ImageIndex = 0;
            treeView1.Nodes.Add(tn);

            TreeNode tnn = new TreeNode("小明");

            tnn.ImageIndex = 1;
            tn.Nodes.Add(tnn);
        }

在这里插入图片描述

4.获取树控件中选中的节点

可以在控件的AfterSelect事件中,使用EventArgs对象返回对已单击节点对象的引用。通过检查 TreeViewEventArgs类(它包含与事件有关的数据),确定单击了哪个节点。下面通过实例演示如何在 AfterSelect事件中获取控件中选中节点显示的文本。

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            label1.Text = e.Node.Text;
        }

在这里插入图片描述

PS:在用TreeView控件对各磁盘的文件进行显示时,可以通过该控件的SelectedNode的FullPath属性获取 当前所选择节点(文件或文件夹)的目录,需要将该控件的PathSeparator属性值设为“\”。

二.DateTimePicker(日期控件)

DateTimePicker控件(日期控件)用于选择日期和时间,DateTimePicker控 件只能选择一个时间,而不是连续的时间段,也可以直接输入日期和时间。
在这里插入图片描述

1.显示设置

Format属性用于获取或设置控件中显示 的日期和时间格式。

    public class DateTimePicker : Control
    {
        //
        // 摘要:
        //     获取或设置控件中显示的日期和时间格式。
        //
        // 返回结果:
        //     System.Windows.Forms.DateTimePickerFormat 值之一。 默认值为 System.Windows.Forms.DateTimePickerFormat.Long。
        //
        // 异常:
        //   T:System.ComponentModel.InvalidEnumArgumentException:
        //     分配的值不是 System.Windows.Forms.DateTimePickerFormat 值之一。
        public DateTimePickerFormat Format { get; set; }
    }

DateTimePickerFormat 枚举类:

枚举值说明表现
Long控件以用户操作系统设置的长日期格式显示日期/时间值。在这里插入图片描述
Short控件以用户操作系统设置的短日期格式显示日期/时间值。在这里插入图片描述
Time控件以用户操作系统设置的时间格式显示日期/时间值。在这里插入图片描述
Custom控件以自定义格式显示日期/时间值。自定义格式

与CustomFormat属性配合实现自定义显示(Format属性必须设置为DateTimePickerFormat.Custom,才能影响显示的日期和时间的格式设置。)
格式化说明如下:
在这里插入图片描述
案例代码:

        private void Form1_Load(object sender, EventArgs e)
        {
            dateTimePicker1.Format = DateTimePickerFormat.Custom;
            dateTimePicker1.CustomFormat = "tt sss:mm:HH dd-MM-yyyy";//倒序显示
		}

在这里插入图片描述

2.选定日期

在这里插入图片描述
右侧按钮可以打开选择日期界面,数据将以DateTime类型保存在dateTimePicker.Value中。

3.代码中获取日期

dateTimePicker.Value为DateTime类型。
代码:

        private void button1_Click(object sender, EventArgs e)
        {
            label2.Text =  dateTimePicker1.Value.ToString();
        }

在这里插入图片描述

.ToString()转换的格式也可以通过格式化自定义显示,默认的格式如上图。

相关文章:

  • Elk-Metricbeat配置对ELK的监控 (Metricbeat-part4)(待续)
  • Opengl ES之纹理贴图
  • 淘宝天猫商品全网搜索接口
  • 01背包-一维dp数组学习笔记
  • Rebex Syslog for.NET R6.6,Adds support for multicast addresses
  • day02-Java基础-注释,关键字,字面量,变量,数据类型,标识符,键盘录入,IDEA相关
  • 免密登录跳板机和linux服务器
  • HashMap原理硬核分析,细到每一行代码!
  • STK12与Python联合仿真(三):分析星座覆盖性能
  • 基于OpenHarmony/HarmonyOS操作系统的ArkUI框架深入学习——开篇1
  • WebSocket| Netty netty-websocket-spring-boot-starter
  • C语言for循环结构经典练习
  • 【老生谈算法】matlab实现元胞自动机算法源码——元胞自动机
  • wireshark协议或者协议内容解码异常
  • nginx部署vue项目(包括一个nginx部署多个vue项目)
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 《剑指offer》分解让复杂问题更简单
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【mysql】环境安装、服务启动、密码设置
  • Angular 响应式表单之下拉框
  • CSS 提示工具(Tooltip)
  • ES6--对象的扩展
  • flutter的key在widget list的作用以及必要性
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript函数式编程(一)
  • linux安装openssl、swoole等扩展的具体步骤
  • Python利用正则抓取网页内容保存到本地
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Shadow DOM 内部构造及如何构建独立组件
  • Spring Boot快速入门(一):Hello Spring Boot
  • STAR法则
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 百度小程序遇到的问题
  • 回流、重绘及其优化
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 前端相关框架总和
  • 什么是Javascript函数节流?
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 网络应用优化——时延与带宽
  • 延迟脚本的方式
  • 关于Android全面屏虚拟导航栏的适配总结
  • (04)odoo视图操作
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (Forward) Music Player: From UI Proposal to Code
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (办公)springboot配置aop处理请求.
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (九)信息融合方式简介
  • (论文阅读40-45)图像描述1