1. 程式人生 > >WinForm 菜單控件

WinForm 菜單控件

alt+ pub 屬性 event 點擊事件 程序 直接 too cut

一:MenuStrip 菜單條

技術分享

技術分享

MenuStrip 是應用程序菜單條的容器。

二:ToolStripMenuItem

像上面圖中, 文件 格式 等這些菜單當中的一級菜單以及文件中的 新建 打開 分割條 退出 這些二級菜單全都是ToolStripMenuItem。

你可以在設計裏直接添加,也可以在後臺用c#代碼添加。

通過menuStrip的Items屬性獲得ToolStripMenuItem的集合,往該集合裏添加一個新的ToolStripMenuItem。

this.menuStrip.Items.Add(new ToolStripMenuItem("文件"));

三:快捷鍵的設置

如果想要通過快捷鍵快速定位到菜單,那麽需要在每個ToolStripMenuItem的Text後面加上一個 (&+你要設置的快捷鍵)

技術分享

然後在打開應用後,可以按住alt+你設置的快捷鍵 光標就會移動到你選的那個菜單。

例如:我按了alt+F 那麽就會跳到類似下圖。這種方式僅僅是用於一級菜單。也就是文件 格式等一級菜單。

技術分享

四:

如果你想實現很多windows軟件的快捷鍵功能,例如直接在軟件裏按住ctrl+N 會直接幫你跳出創建頁面。

在新建對應的ToolStripMenuItem的Shortcuteys屬性設置快捷鍵。

技術分享

在對應的ToolStripMenuItem的click事件添加點擊事件。

技術分享

實際上快捷鍵就是幫你直接觸發ToolStripMenuItem的click事件。不用你自己去點。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一:contextMenuStrip 上下文菜單條

這東西聽起來挺復雜的,其實就是我們平時經常碰到的右鍵菜單,根據你點的東西不同,會給你不同的菜單。 也就是上下有聯系。

可以用在窗體右鍵菜單,或者按鈕上的右鍵菜單

Form和Button控件上都有一個ContextMenuStrip屬性用於綁定 你自己設置的contextMenuStrip菜單對象。

同時contextMenuStrip 對象有一個SourceControl 用於記錄當前的上下文菜單是在哪個控件身上。

public Form1()
{
            InitializeComponent();


            //創建一個上下文菜單條對象
            ContextMenuStrip contextMenuStrip = new ContextMenuStrip();
            //給窗體綁定這個上下文對象
            this.ContextMenuStrip = contextMenuStrip;
            //給按鈕綁定
            this.button1.ContextMenuStrip = contextMenuStrip;

            //給上下文菜單的打開 註冊事件  當上下文菜單打開時觸發
            contextMenuStrip.Opening += contextMenuStripOpening;
    
}


public void contextMenuStripOpening(object sender, CancelEventArgs e)
{
            ContextMenuStrip contextMenuStrip = sender as ContextMenuStrip;
            //通過SourceControl屬性判斷當前是綁定在哪個控件上
            if (contextMenuStrip.SourceControl ==this.button1)
            {
                contextMenuStrip.Items.Clear();
                contextMenuStrip.Items.Add("打開");
                contextMenuStrip.Items.Add("關閉");
            }
            else if (contextMenuStrip.SourceControl == this)
            {
                contextMenuStrip.Items.Clear();
                contextMenuStrip.Items.Add("復制");
                contextMenuStrip.Items.Add("剪貼");
            }
}

--------------------------------------------------------------------------------------

-------------some words------------------

1.strip 長條,條板

2.MenuStrip 菜單條

3.Shortcuteys 快捷鍵

4.contextMenuStrip 上下文菜單條

5.RichTextBox 擴展文本框 富文本框

---------------the end---------------------

WinForm 菜單控件