DevExpress Winform:纯代码方式创建PopupMenu

DevExpress版本:18.1

.NET Framework版本:4.0

VS版本:2017

C#语言版本:7.3

 1 public partial class YourClass : XtraForm  2 {  3 private readonly PopupMenu PopupMenu = new PopupMenu();  4 private readonly BarManager BarManager = new BarManager();  5  6 public YourClass()  7  {  8 // constructor 9  } 10 11 private void InitContextMenuGridControlDbTables() 12  { 13 this.PopupMenu.BeginInit(); 14 this.BarManager.BeginInit(); 15 16 var menuRefresh = new BarButtonItem 17  { 18 Manager = this.BarManager, 19 Caption = "Refresh", 20 Name = "Refresh", 21 Id = 022  }; 23 // menuRefresh.ItemClick += this.WhenClickRefresh;24 25 var menuSynchronize = new BarButtonItem 26  { 27 Manager = this.BarManager, 28 Caption = "Synchronize", 29 Name = "Synchronize", 30 Id = 131  }; 32 // menuSynchronize.ItemClick += this.WhenClickSynchronize;33 34 var menuPurge = new BarButtonItem 35  { 36 Manager = this.BarManager, 37 Caption = "Purge", 38 Name = "Purge", 39 Id = 240  }; 41 // menuPurge.ItemClick += this.WhenClickPurge;42 43 var menuRemove = new BarButtonItem 44  { 45 Manager = this.BarManager, 46 Caption = "Remove", 47 Name = "Remove", 48 Id = 349  }; 50 // menuRemove.ItemClick += this.WhenClickRemove;51 52 this.PopupMenu.LinksPersistInfo.AddRange(new[] 53  { 54 new LinkPersistInfo(menuRefresh), 55 new LinkPersistInfo(menuSynchronize, true), // 第二个参数true,表示在Synchronize和Refresh菜单之间添加分割线56 new LinkPersistInfo(menuPurge, true), // 第二个参数true,表示在Purge和Synchronize菜单之间添加分割线57 new LinkPersistInfo(menuRemove) 58  }); 59 this.PopupMenu.Manager = this.BarManager; 60 61 this.BarManager.Form = this.gridControlDbTables; // BarManager.Form属性表示菜单所属的控件62 this.BarManager.Items.AddRange(new BarItem[] 63  { 64  menuRefresh, 65  menuSynchronize, 66  menuPurge, 67  menuRemove 68  }); 69 70 this.PopupMenu.EndInit(); 71 this.BarManager.EndInit(); 72 73 // 绑定BarManager.Form控件的MouseUp事件以显示菜单74 this.gridControlDbTables.MouseUp += (sender, e) =>75  { 76 if (MouseButtons.Right == e.Button) 77 this.PopupMenu.ShowPopup(Control.MousePosition); 78  }; 79  } 80 }

 

相关文章