国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

分享如何用C# Button實現下拉菜單

開發 后端
C# Button實現下拉菜單為實現這個功能, 花費的時間太長了, 但是總結了很多的經驗,拿出來和大家一起分享,希望大家能夠喜歡。

本文為你講解了C# Button下拉菜單實現的思路,步驟及代碼!筆者講述的很清楚,很有條理,實用性很強的。主要的思路還是在于要把ContextMenuStrip控件實例與按鈕關聯,并取消按鈕的右擊事件。

C# Button實現下拉菜單為實現這個功能, 花費的時間太長了, 覺得本人真夠笨. 回過頭來看, 其實很簡單的東西!

在項目中,要用到按鈕實現下拉菜單的功能,而且是在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.  
  15.      public partial class DropButton : Button  
  16.      {  
  17.          private ContextMenuStrip contextMenuStrip;  
  18.          private Point point;     //立標  
  19.          private int x = 0;     //立標x  
  20.          private int y = 0;     //立標y  
  21.          private int workSize_x;//工做區x    
  22.          private int workSize_y;//工做區y  
  23.          public DropButton()  
  24.         {  
  25.              InitializeComponent();  
  26.             x = this.Size.Width ;  
  27.              y = 0;  
  28.          }  
  29.          ///   
  30.          /// 工做區的完  
  31.          /// 
  32.  
  33.          public int WorkSizeX  
  34.          {  
  35.              get { return workSize_x; }  
  36.              set { workSize_x = value; }  
  37.          }  
  38.          ///   
  39.          /// 工做區的高  
  40.          /// 
  41.  
  42.          public int WorkSizeY  
  43.          {  
  44.              get { return workSize_y; }  
  45.              set { workSize_y = value - 55; }  
  46.          }  
  47.     ///
  48.             
  49.          /// ContextMenuStrip菜單  
  50.          /// 
  51.  
  52.          public override ContextMenuStrip ContextMenuStrip  
  53.          {  
  54.              get { return contextMenuStrip; }  
  55.              set   
  56.              {  
  57.                  if (contextMenuStrip != null)  
  58.                  {  
  59.                      contextMenuStrip = value;  
  60.                  }  
  61.              }  
  62.         }   
  63.          //  
  64.          //重寫的單擊事件  
  65.          //  
  66.          protected override void OnClick(EventArgs e)  
  67.          {  
  68.              base.OnClick(e);  
  69.              //菜單在工做區離邊框的寬高  
  70.              int _x = this.Parent.Location.X + this.Location.X +
     
    this.Size.Width + contextMenuStrip.Size.Width;  
  71.              int _y = this.Parent.Location.Y + this.Location.Y  + 
    contextMenuStrip.Size.Height ;  
  72.     if
  73.              (_x < WorkSizeX - 8)  
  74.              {  
  75.                  x = this.Size.Width;  
  76.              }  
  77.              else 
  78.              {  
  79.                  x = 0 - contextMenuStrip.Size.Width;  
  80.              }  
  81.     if 
  82.              (_y < WorkSizeY)  
  83.              {  
  84.                  y = 0;  
  85.              }  
  86.              else 
  87.              {  
  88.                  y = 0 - contextMenuStrip.Size.Height + this.Size.Height;  
  89.              }  
  90.      point =
  91.             new Point(x, y);  
  92.              contextMenuStrip.Show(this, point);  
  93.          }  
  94.          //  
  95.          //使鼠標右鍵失效  
  96.          //  
  97.          protected override void OnMouseDown(MouseEventArgs mevent)  
  98.         {  
  99.             base.OnMouseDown(mevent);  
  100.              if (mevent.Button.ToString() != "Right")  
  101.              {  
  102.             }  
  103.          }  
  104.      } 
以上講述了實現C# Button下拉菜單的思路、步驟及代碼,希望能給大家帶來幫助。

【編輯推薦】

  1. 淺析Silvelight中顯示多重數據模型集合
  2. C# XML解析方式實例解析
  3. 簡述C# XML解析方法的特點及應用
  4. 有關事件與委托關系的思考
  5. .NET對象的XML序列化和反序列化實例詳解
責任編輯:阡陌 來源: 編程教程
相關推薦

2009-09-10 17:48:05

C# button

2013-03-18 10:01:34

jQueryJavaScript

2009-09-11 12:52:09

C# WinForm控編輯器

2020-07-20 12:31:33

UI下拉工菜單設計

2009-04-02 09:08:00

下拉菜單腳本導航設計CSS

2024-09-23 00:00:00

下拉菜單UI控件

2009-09-10 18:06:25

C# button快捷

2015-03-23 18:11:39

UITableViewswift下拉刷新

2009-07-02 14:18:13

JSP JavaScr下拉菜單

2009-09-11 09:59:47

2009-08-24 15:58:00

Visual C#生成

2009-08-18 11:17:37

C#添加鼠標右鍵

2009-09-10 18:18:42

C# Button

2009-08-20 16:07:39

C#和ADO.NET訪

2009-08-17 15:34:58

C#創建XML

2009-08-19 14:29:33

C#代理

2015-08-05 09:30:32

C#下拉式計算器

2009-08-26 15:09:57

C# Hook

2025-03-04 04:00:00

C++代碼windows

2009-01-19 10:03:58

C#XML動態分層菜單
點贊
收藏

51CTO技術棧公眾號

99re热精品| 亚洲精品乱码久久久久久黑人| 九七伦理97伦理| 亚洲黄页视频免费观看| 一区三区视频| 狠狠狠综合7777久夜色撩人| 国产精品高精视频免费| 亚洲欧洲在线观看av| 2020国产精品小视频| 久久久久久av无码免费网站下载| 欧美一区二区三区喷汁尤物| 日韩午夜一区| 在线播放毛片| 韩日午夜在线资源一区二区| 91国产免费看| 国产精品chinese| 日韩欧美亚洲系列| 91在线短视频| 在线亚洲高清视频| 国产综合激情| 欧美日韩xx| 清纯唯美一区二区三区| 5566中文字幕一区二区电影| 午夜在线一区| 在线看一级片| 影音先锋男人的网站| 亚洲色图综合久久| 99久久精品国产精品久久| 日本一道高清亚洲日美韩| 免费在线观看亚洲视频| 欧美激情在线狂野欧美精品| 中文字幕一区二区在线播放| 综合色就爱涩涩涩综合婷婷| 在线播放你懂的| 91香蕉视频在线下载| 欧美高清视频在线高清观看mv色露露十八 | 欧美一性一乱一交一视频| 中文一区二区完整视频在线观看| 国产厕拍一区| 2020中文字幕在线| 国产精品亚洲欧美导航| 91成人网在线| 视频一区欧美日韩| 在线看片福利| 北条麻妃在线一区| 国产成人久久久精品一区| 欧美性生交大片免费| 国产亚洲欧洲| 韩国三级一区| 97蝌蚪自拍自窝| 亚洲xxx自由成熟| 日韩欧美一区在线观看| 东方aⅴ免费观看久久av| 欧美一级片网址| 嫩草影院网站在线| 成人91视频| 日韩不卡中文字幕| 国产欧美日韩不卡免费| 婷婷激情图片久久| 欧美野外wwwxxx| 成年人免费在线播放| 国产精品久久久久久五月尺| 欧美一区二区三区白人| 成人精品亚洲人成在线| 教室别恋欧美无删减版| 超碰在线观看免费版| 日韩在线视频在线观看| 国产精品免费一区二区三区都可以| 欧美日韩亚洲综合在线 | 国产999精品久久久| 欧美性生活影院| 国产a视频精品免费观看| 天堂在线精品| 青草av在线| 成人在色线视频在线观看免费大全| 99re在线| 中日韩午夜理伦电影免费| 亚洲国产成人av| 欧美aaaaa成人免费观看视频| 精品999日本久久久影院| 天堂av电影在线观看| 欧美日韩午夜爽爽| 国产精国产精品| 亚洲精品一线二线三线无人区| 国产日本欧洲亚洲| 国产欧美不卡| 亚洲不卡在线| 日韩三级免费| 美女无遮挡网站| 亚洲精品tv久久久久久久久| 国内精品视频在线| 日韩欧美国产系列| 成人免费在线视频观看| 日韩av在线发布| 久久99国产成人小视频| 欧美特大特白屁股xxxx| 性网站在线播放| 熟女性饥渴一区二区三区| 国产偷久久久精品专区| 97免费中文视频在线观看| 欧美精品一区二区高清在线观看 | av不卡在线观看| 国内自拍视频一区二区三区| 99精品国产九九国产精品| 黄网站在线播放| 免费羞羞视频| 国产精品一色哟哟| 国产乱码精品一区二区三区日韩精品| 色黄久久久久久| 777亚洲妇女| 一区二区三区av电影| 国产乱码精品一区二区三区av| 成人一区而且| 精品国产乱码一区二区三区| av大全在线| 中国动漫在线观看完整版免费| 欧美在线一区视频| 日韩欧美一区二区视频在线播放| 国产精品久久久久久影视| 久久久精品免费| 亚洲精品久久久久中文字幕二区 | 日本天堂一区| xx欧美xxx| 黄色网在线免费观看| 蜜桃av成人| jizz大全欧美jizzcom| 天天成人综合网| 精品一区在线播放| 成人av在线天堂| 91精品国产色综合久久不卡98口 | 樱花草国产18久久久久| av在线播放一区二区三区| 日韩福利视频网| 国产一区二区三区自拍| 亚洲另类春色校园小说| 粉嫩av国产一区二区三区| 国产亚洲成av人片在线观看| 黄色av电影在线观看| 男同在线观看| 在线观看视频你懂的| 18av网站| av网站在线不卡| av免费播放网址| 激情五月六月婷婷| 亚洲精品一区二| 欧美日韩电影一区二区三区| 国产精品一区二区你懂得| 91免费福利视频| 国产欧美日韩91| 热久久这里只有精品| 久久久综合免费视频| 久久影视免费观看 | 国产在线播精品第三| 美女黄色成人网| 国产精品社区| 亚洲一区免费| 午夜亚洲性色视频| 久久青草久久| 日韩中文欧美在线| 免费高清视频精品| 美女一区二区久久| 精品一区二区三区不卡| 卡一卡二国产精品| 国产自产2019最新不卡| 国产精品一级片在线观看| 国产91丝袜在线观看| 成人av高清在线| 91丨九色丨蝌蚪富婆spa| 粉嫩嫩av羞羞动漫久久久| eeuss国产一区二区三区 | 黄色手机在线视频| 少妇一级淫免费播放| 手机视频在线观看| 成人女性文胸| 国产一二三视频| 影音先锋电影在线观看| 国产资源在线看| 国产在线二区| 国产精品乱码| 欧美日韩你懂的| 欧美福利一区二区| 亚洲韩国欧洲国产日产av| 国产丝袜一区二区三区免费视频| 亚洲另类图片色| 日韩在线观看免费| 97在线视频国产| 国产成人av在线| 99re在线国产| 日韩福利影院| 国产freexxxx性播放麻豆| 能看的毛片网站| 2023欧美最顶级a∨艳星| 青青草娱乐在线| 视频在线观看入口黄最新永久免费国产| 岛国在线视频网站| 精品网站999| 日韩国产欧美| 天堂午夜影视日韩欧美一区二区| 国产精品538一区二区在线| 久久久久成人黄色影片|