前言:
本篇都是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("禁止訪問");
}
}
}
}
學習如逆水行舟,不進則退!!!
歡迎關注微信公衆號:碼農雲庫