C# Windows窗体应用 之 控件汇总(第二篇)

前言:
本篇都是Windows窗体应用常用控件的介绍,通过效果图和相关属性事件总结,其实每个控件很多的属性都是差不多的,所有我们通过效果图基本上可以猜出这个控件有哪些属性方法了,当需要使用哪一个控件时,可以看一下相关列子就OK的。

一、菜单 MenuStrip

将MenuStrip控件拖放到窗体上,即可在窗体顶部(标题栏下方)创建一个菜单栏, MenuStrip控件同时会出现在组件架中。
在这里插入图片描述


二、月历 MonthCalendar

在这里插入图片描述
常用属性:

属性 说明
FirstDayOfWeek 设置日历中每一周第一个显示的日期
MaxDate 可以选择的最后一个日期
MaxSelectionCount 可以一次选择的最多天数
MinDate 可以选择的第一个日期
MonthlyBoldedDates 日历中以粗体显示的一个日期数组
SelectionEnd 用户选择的最后一个日期
SelectionRange 用户选择的日期
SelectionStart 用户选择的第一个日期

常用事件:

事件 说明
DateChanged 当选中了日历中的某个日期时,会产生这个事件

三、日历 DateTimePicker

DateTimePicker控件与MonthCalendar控件类似,但它在选择向下箭头时才会显示日历。
在这里插入图片描述
常用属性:

属性 说明
CalendarForeColor 设置日历文本颜色
CalendarMonthBackground 设置日历的背景色
CustomFormat 设置用户选项的定制格式字符串
Format 设置用户选项的日期或时间格式
MaxDate 可以选择的最大日期和时间
MinDate 可以选择的最小日期和时间
ShowCheckBox 表明是否应在所选日期和时间的左边显示复选框
ShowUpDown 表示控件是否应显示向上和向下的按钮
Value 用户选择的数据

Format属性可指定用户的选择选项
Long: Thursday, July 10, 2010
Short: 7/10/2010
Time: 5:31:02 PM
Custom: 用户自定义格式

常用事件:

事件 说明
ValueChanged Value属性发生变化时产生这个事件

四、超链接 LinkLabel

在这里插入图片描述
在这里插入图片描述
常用属性:

属性 说明
ActiveLinkColor 指定用户单击链接时的颜色
LinkArea 指定LinkLabel中哪一部分的文本为链接
LinkBehavior 指定链接的行为,比如当鼠标放置其上时链接如何出现
LinkColor 指定单击前链接的颜色
LinkVisited 如果为true,则链接表现为已被访问过
Text 指定这个控件的文本
UseMnemonic 如果为true,则在Text属性中的&字符充当快捷键
VisitedLinkColor 指定访问过的链接的颜色

常用事件:

事件 说明
LinkClicked 单击链接时产生,配合Process类的Start方法

五、列表框 ListBox

在这里插入图片描述
常用属性:

属性 说明
Items ListBox中的项目集合
MultiColumn 表示能否显示多列
SelectedIndex 返回所选项目的索引
SelectedIndices 返回包含全部所选项目索引的一个集合
SelectedItem 返回所选项目的引用
SelectedItems 返回所选项目的集合
SelectionMode 确定能够被选中的项目数以及多个项目被选中的方法
Sorted 表示项目是否按字母顺序排序

常用事件:

事件 说明
SelectedIndexChanged 当所选项目的索引发生变化时产生

六、CheckedListBox控件

CheckedListBox控件是从ListBox类派生的,它会在每个项目旁边加一个复选框


七、ComboBox控件

如果清单包含的元素多于下拉清单能显示的个数,则会出现滚动条,下拉清单一次可以显示的最大项目数由MaxDropDownItems属性确定
在这里插入图片描述

常用属性:

属性 说明
DropDownStyle 确定ComboBox的类型(3种类型)
Items ComboBox控件中的项目集合
MaxDropDownItems 指定下拉清单能够显示的最大项目数
SelectedIndex 返回所选项目的索引
SelectedItem 返回所选项目的引用
Sorted 按字母排序

常用事件:

事件 说明
SelectedIndexChanged 当所选索引发生改变时产生

八、TabControl 控件

TabContrl控件可创建标签化窗口
在这里插入图片描述
常用属性:

属性 说明
ImageList 指定在标签上显示的图像
ItemSize 指定标签的大小
Multiline 表明是否能将标签显示成多行
SelectedIndex 所选TabPage的索引
SelectedTab 被选中的TabPage
TabCount 返回标签页面的数量
TabPages 返回TabControl内的TabPages集合

常用事件:

事件 说明
SelectedIndexChanged 当SelectedIndex变化时产生

九、TreeView 控件(重要)

TreeView控件用树显示节点层次。
例如:顶级目录是根(C:),C盘下的每个子目录都是子节点,而每个子目录又都有自己的子节点

TreeView属性 说明
CheckBoxes 表示节点旁边是否出现复选框
ImageList 指定一个包含节点图标的ImageList对象。ImageList对象是一个包含Image对象的集合
Nodes 将控件中的TreeNode集合作为TreeNodeCollection返回
SelectedNode 被选中的节点

常用事件:

TreeView事件 说明
AfterSelect 当所选节点发生变化时产生

TreeNode属性和方法:

TreeNode属性 说明
Checked 表示是否选中了TreeNode
FirstNode 指定Nodes集合众的第一个节点
FullPath 节点从数根开始的路径
ImageIndex 当去选一个节点时,指定TreeView的ImageList中要显示的图像的索引
LastNode 指定Nodes集合中的最后一个节点
NextNode 下一个同胞节点
Nodes 包含在当前节点中的TreeNode集合
PrevNode 前一个同胞节点
SelectedImageIndex 当选择一个节点时,指定TreeView的ImageList中要显示的图像的索引
Text 指定TreeNode的文本
TreeNode方法 说明
Collapse 加载时缩合节点
Expand 展开节点
ExpandAll 展开节点的所有子节点
GetNodeCount 返回子节点个数

操作:实现本机文件目录

在这里插入图片描述

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;
using System.IO;

namespace TreeView 控件
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void enterButton_Click(object sender, EventArgs e)
        {
            directoryTreeView.Nodes.Clear();// 每次确定时需要刷新内容
            string inputText = inputTextBox.Text; // 获得输入框的内容
            // 文件路径存在
            if (Directory.Exists(inputText))
            {
                TreeNode rootNode = new TreeNode(inputText); // 创建树节点
                directoryTreeView.Nodes.Add(rootNode); // 加入视图
                FindDirectory(inputText, rootNode);  //通过递归函数进行目录的遍历
            }
            // 文件路径不存在
            else
            {
                MessageBox.Show("输入目录不存在!!!");
                inputTextBox.Clear(); // 当文件目录不存在时清空控件内容
                directoryTreeView.Nodes.Clear();
            }
        }

        // 递归函数 遍历当前目录
        void FindDirectory(string nowDirectory, TreeNode parentNode)
        {
            try  // 当文件目录不可访问时,需要捕获异常
            {
                // 获取当前目录下的所有文件夹数组
                string[] directoryArray = Directory.GetDirectories(nowDirectory);
                if (directoryArray.Length > 0)
                {
                    foreach (string item in directoryArray)
                    {
                        // 遍历数组,将节点添加到父亲节点的
                        string str = Path.GetFileNameWithoutExtension(item);
                        TreeNode node = new TreeNode(str);
                        parentNode.Nodes.Add(node);
                        FindDirectory(item, node);
                    }
                }
            }
            catch (Exception)
            {
                parentNode.Nodes.Add("禁止访问");
            }
        }
    }
}

学习如逆水行舟,不进则退!!!

欢迎关注微信公众号:码农云库

发布了60 篇原创文章 · 获赞 67 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_45021180/article/details/105328143