在工具箱中將控件劃分為公共控件、容器、菜單和工具欄、數(shù)據(jù)、組件、打印、對話框等組。
本章為菜單和工具欄控件
C# ContextMenuStrip:右鍵菜單控件(上下文菜單)
1.在 C# WinForm開發(fā)中的右鍵菜單又叫上下文菜單,即右擊某個控件或窗體時出現(xiàn)的菜單,它也是一種常用的菜單控件。
2.在 Windows 窗體應(yīng)用程序中,上下文菜單在設(shè)置時直接與控件的 ContextMenuStrip 屬性綁定即可。
實例創(chuàng)建 Windows 窗體應(yīng)用程序,并為該窗體創(chuàng)建上下文菜單,菜單項包括打開窗體、關(guān)閉窗體。
根據(jù)題目要求創(chuàng)建 Windows 窗體,并在該窗體中添加上下文菜單。
在 Windows 窗體的 ContextMenuStrip 屬性中設(shè)置所添加上下文菜單的名稱。
設(shè)置屬性的界面如下圖所示。

設(shè)置 ContextMenuStrip1 菜單中的選項,如下圖所示。

在每個菜單項的單擊事件中加入相關(guān)的操作代碼,即可實現(xiàn)右鍵菜單的功能,具體代碼如下:
public partial class ContextMenuStrip : Form
{
public ContextMenuStrip()
{
InitializeComponent();
}
//打開新窗體的菜單項單擊事件
private void 打開窗體ToolStripMenuItem_Click(object sender, EventArgs e)
{
ContextMenuStrip menu1 = new ContextMenuStrip();
menu1.Show();
}
//關(guān)閉窗體菜單項的單擊事件
private void 關(guān)閉窗體ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
}
運行該窗體并右擊,展開的右鍵菜單如下圖所示。

從運行效果可以看出,右擊窗體后會出現(xiàn)如上圖所示的右鍵菜單。選擇相應(yīng)的菜單項即可執(zhí)行相應(yīng)的打開窗體和關(guān)閉窗體的功能。
C# C# MenuStrip:菜單欄控件
在窗體上添加菜單欄控件 MenuStrip,直接按住 MenuStrip 不放,將其拖到右邊的 Windows 窗體中即可,如下圖所示。

完成 MenuStrip 控件的添加后,在 Windows 窗體設(shè)計界面中就能看到“請在此處鍵入” 選項,直接單擊它,然后輸入菜單的名稱,例如,“文件”“編輯”“視圖”等。
此外,添加一級菜單后還能添加二級菜單,例如,為“文件”菜單添加“新建”“打開”“關(guān)閉”等二級菜單,如下圖所示,模擬一個文件菜單(包括二級菜單)和編輯菜單。

C# StatusStrip:狀態(tài)欄菜單控件
在 Windows 窗體應(yīng)用程序中,狀態(tài)欄菜單(StatusStrip)用于在界面中給用戶一些提示,例如登錄到一個系統(tǒng)后,在狀態(tài)欄上顯示登錄人的用戶名、系統(tǒng)時間等信息。
在 Office 的 Word 軟件中,狀態(tài)中顯示的是當前的頁數(shù)、當前頁的字數(shù)統(tǒng)計、頁面分辨率等信息,如下圖所示。

在添加狀態(tài)欄菜單時,按住 StatusStrip 選項不放,將其拖到右邊的 Windows 窗體中即可,如下圖所示。

在狀態(tài)欄上不能直接編輯文字,需要添加其他的控件來輔助。
單擊上圖所示界面中新添加的狀態(tài)欄控件,則會顯示如下圖所示的下拉菜單,其中包括標簽控件(StatusLabel)、進度條(ProgressBar)、下拉列表按鈕(DropDownButton)、分割按鈕(SplitButton)。

C# ToolStrip:工具欄控件
在 C# WinForm開發(fā)中添加工具欄(ToolStrip)和添加菜單欄類似,在工具箱中將 ToolStrip 控件直接拖到 Windows 窗體中即可。
為了美觀和界面的統(tǒng)一,應(yīng)將其拖到菜單欄的下方,如下圖所示。

在添加了 ToolStrip 控件之后,它只是一個工具條,上面并沒有控件,所以它不能響應(yīng) 一些事件,從而沒有功能。
我們可以把它理解成一個占位符,就像是占著一個區(qū)域的位置,然后在其上面再添加按鈕。
添加按鈕也很簡單,如下圖所示。
