WinForm 菜單控件


一: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---------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM