老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

C#中怎么利用Button實現一個下拉菜單

C#中怎么利用Button實現一個下拉菜單,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

建鄴網站制作公司哪家好,找成都創新互聯!從網頁設計、網站建設、微信開發、APP開發、響應式網站開發等網站項目制作,到程序開發,運營維護。成都創新互聯于2013年開始到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創新互聯。

在項目中,要用到按鈕實現下拉菜單的功能,而且是在MDI窗體中。當菜單的顯示范疇超出MDI窗體的工做區時,就要換另一顯示方式,不至于顯示混亂。如圖:

C#中怎么利用Button實現一個下拉菜單
實現C# Button下拉菜單

C#中怎么利用Button實現一個下拉菜單
實現C# Button下拉菜單

(發覺一問題,如果把Form1拉到像Form3的大小,還會出現圖一的情況。客戶沒這么邪吧)

C# Button下拉菜單實現思路:

1、要把ContextMenuStrip控件實例與按鈕關聯

2、取得MDI工做區的大小

3、取消按鈕的右擊事件(因為與ContextMenuStrip相關系的控件右鍵都會響應且顯示)

4、鼠標單擊時設置菜單顯示位置

C# Button下拉菜單實現步驟:

1、創建用戶控件,且用戶控件承繼自Button類

2、定義ContextMenuStrip對象

3、定義顯示ContextMenuStrip對象立標point

4、重寫按鈕單擊事件和ContextMenuStrip屬性(設置與之關聯的ContextMenuStrip實例用到),還有重寫鼠標右擊事件,使其不響應任何操做

C# Button下拉菜單代碼:

  1.    /// 

     

  2.        /// 說明: 使用此Button時要設置ContextMenuStrip屬性值 

  3.       ///       單擊些Button的Click事件要傳入所在工做區的寬高 

  4.        ///       如果沒有所需的屬性值,則如平時所使用的Button一至 

  5.        /// 使用例子: 

  6.       ///       DropButton.WorkSizeX = 
    this.MdiParent.ClientRectangle.Width; 

  7.        ///       DropButton.WorkSizeY = 
    this.MdiParent.ClientRectangle.Height; 

  8.        /// 應用: 

  9.       /// 創建人: lrj 

  10.     /// 創建日期:2008-05-22 

  11.      /// 修改人: 

  12.      /// 修改日期: 

  13.      ///  

  14.      public partial class DropButton : Button  

  15.      {  

  16.          private ContextMenuStrip contextMenuStrip;  

  17.          private Point point;     //立標 

  18.          private int x = 0;     //立標x 

  19.          private int y = 0;     //立標y 

  20.          private int workSize_x;//工做區x   

  21.          private int workSize_y;//工做區y 

  22.          public DropButton()  

  23.         {  

  24.              InitializeComponent();  

  25.             x = this.Size.Width ;  

  26.              y = 0;  

  27.          }  

  28.          /// 

     

  29.          /// 工做區的完 

  30.          ///  

  31.          public int WorkSizeX  

  32.          {  

  33.              get { return workSize_x; }  

  34.              set { workSize_x = value; }  

  35.          }  

  36.          /// 

     

  37.          /// 工做區的高 

  38.          ///  

  39.          public int WorkSizeY  

  40.          {  

  41.              get { return workSize_y; }  

  42.              set { workSize_y = value - 55; }  

  43.          }  

  44.           ///

  45.           

     

  46.          /// ContextMenuStrip菜單 

  47.          ///  

  48.          public override ContextMenuStrip ContextMenuStrip  

  49.          {  

  50.              get { return contextMenuStrip; }  

  51.              set   

  52.              {  

  53.                  if (contextMenuStrip != null)  

  54.                  {  

  55.                      contextMenuStrip = value;  

  56.                  }  

  57.              }  

  58.         }   

  59.          // 

  60.          //重寫的單擊事件 

  61.          // 

  62.          protected override void OnClick(EventArgs e)  

  63.          {  

  64.              base.OnClick(e);  

  65.              //菜單在工做區離邊框的寬高 

  66.              int _x = this.Parent.Location.X + this.Location.X +
    this.Size.Width + contextMenuStrip.Size.Width;  

  67.              int _y = this.Parent.Location.Y + this.Location.Y  + 
    contextMenuStrip.Size.Height ;  

  68.              if

  69.              (_x < WorkSizeX - 8)  

  70.              {  

  71.                  x = this.Size.Width;  

  72.              }  

  73.              else 

  74.              {  

  75.                  x = 0 - contextMenuStrip.Size.Width;  

  76.              }  

  77.              if 

  78.              (_y < WorkSizeY)  

  79.              {  

  80.                  y = 0;  

  81.              }  

  82.              else 

  83.              {  

  84.                  y = 0 - contextMenuStrip.Size.Height + this.Size.Height;  

  85.              }  

  86.               point =

  87.             new Point(x, y);  

  88.              contextMenuStrip.Show(this, point);  

  89.          }  

  90.          // 

  91.          //使鼠標右鍵失效 

  92.          // 

  93.          protected override void OnMouseDown(MouseEventArgs mevent)  

  94.         {  

  95.             base.OnMouseDown(mevent);  

  96.              if (mevent.Button.ToString() != "Right")  

  97.              {  

  98.             }  

  99.          }  

  100.      } 

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯的支持。


標題名稱:C#中怎么利用Button實現一個下拉菜單
網址分享:http://www.xueling.net.cn/article/ishcho.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 一级片.| 国厂毛片| av在线免费播放网址 | 9191久久久久久久久久久 | 麻豆视频在线观看免费网站 | 国产性色av | 国产精品色综合一区二区三区 | 国产精品无码免费热播 | 天天操人人射 | 人人妻碰人人免费 | 91精品国产综合久久久久久久 | 精品人伦一区二区三区蜜桃免费 | 2020国产乱轮免费片 | 国产精品国产三级国产AV麻豆 | 乳尖乱颤娇喘连连A片在线观看 | 小受叫床高潮娇喘嗯啊mp3 | 黄色jjzz| 国产无遮挡又黄又爽不要VIP网站 | 91桃色成人wangxhab | 国产老女人高潮大全 | 刮伦人妇a片1级 | 午夜成人精品福利网站在线观看 | 99久久成人| 91精品久久久久久蜜桃 | 草莓福利社区在线 | 狠狠躁日日躁夜夜躁老司机 | 人妻少妇精品一区二区三区 | 99久久中文 | 亚洲Av纯肉无码精品动漫 | 无码人妻品一区二区三区精99 | 来个毛片 | 精品久久一区 | 欧美xxxxx自由摘花 | 国产91九色 | 午夜三级理论在线观看 | 好爽啊中文字幕一区二区久久 | 国产精品不卡在线观看 | www.欧美黄 | 国产精品亚洲一区在现观看 | 丰满熟妇乱又伦在线无码视频 | 91精品国模一区二区三区 |