前言:
本篇都是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("禁止访问");
}
}
}
}
学习如逆水行舟,不进则退!!!
欢迎关注微信公众号:码农云库