程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 實現"左鍵"單擊彈出式菜單

C# 實現"左鍵"單擊彈出式菜單

編輯:C#入門知識

 \

在開發應用程序時,我們常常需要使用到彈出式菜單。有時候,我們需要用戶在單擊某個控件時,實現這一功能。

.NET為我們提供了這樣一個控件ContextMenuStrip,它可以和其他控件進行綁定,當用戶單擊該綁定控件時,就彈出對應的菜單。

但是這樣做有一個問題,ContextMenuStrip的觸發條件是與其綁定的控件被右鍵單擊時。

如果一個應用程序所有的界面操作都是通過左鍵單擊或雙擊完成的,突然某個控件需要用戶改用右鍵單擊。這種情況難免讓人有些不爽。

因此有沒有一種方法能通過左鍵單擊來觸發彈出式菜單呢?答案當然是肯定的。下面我們來說說這個方法:

  1. 首先還是和往常一樣,創建一個ContextMenuStrip,取好名字,設置好相關的屬性。這裡我們將控件命名為ctxMenu
  2. 接下來創建一個用於觸發該菜單的控件,可以是任何的控件,這裡我們使用一個Button控件命名為btnMenu
  3. 然後就是代碼部分了,很簡單的一句代碼: 
private void btnMenu_Click(object sender, EventArgs e)
{
  // 參數一為被綁定的控件
// 參數二為彈出式菜單的顯示位置(0,0與被綁定控件的原點重合)
  ctxMenu.Show(btnMenu, new Point(0, btnMenu.Height + 5));
}

備注: 當然這個代碼還不是十分的完美,因為現在不論是單擊左鍵還是右鍵都會顯示菜單,大家可以把代碼寫到控件的鼠標事件中,並對左右鍵單擊作出判斷來解決這個問題。

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved