Previous topicNext topic
Help > 开发指南 > 窗体开发 > 控件参考 > 控件参考 > 菜单 > GridMenuBase(Sm空菜单) >
方法

方法

方法名称 说明
AddMenu(GridCommand) 添加菜单
AddMenu(name,showText,visible,image,userData,isDelimiter,toolTipText,shortcutText,shortcut,cannotDisabledByLockedMainRow) 添加菜单
AddMenus(tableID,isSubForm,isVisibleControl) 根据TableID从表属性中加载相应的用户菜单。

AddMenu(name,showText,visible,image,userData,isDelimiter,toolTipText,shortcutText,shortcut,cannotDisabledByLockedMainRow)

参数名称  说明
name 必填项,字符串类型,按钮名称,在按钮单击事件中可以根据此来执行相应的代码。
showText 必填项,字符串类型,显示的文本。
visible 可选项,逻辑类型,是否显示。默认值为True。
image 可选项,Image类型,菜单显示的图标。默认为空。
userData 可选项,object类型,用户数据,可以跟随一些用户信息到命令按钮里面。方便后续编程时使用。默认为空。
isDelimiter 可选项,逻辑类型,是否显示分隔符。默认为False.
toolTipText 可选项,字符串类型,鼠标移动到菜单上显示的提示信息。默认为空。
shortcutText 可选项,字符串类型,显示菜单命令运行的快捷键。
shortcut 可选项,Shortcut类型,设置菜单运行的快捷键。
cannotDisabledByLockedMainRow 可选项,逻辑类型,不受主表锁定行状态影响。默认为False。即表属性窗口中如果设置了“锁定行后锁定子表菜单”属性(见下图),如果此属性设置为True的话,此菜单就不会被禁用。

Vb.Net
Dim menu As GridMenuBase=Proj.OpenedForms("自定义窗体").ControlDictionary()("BaseGridMenu1")
'方式一
menu.AddMenu("cmdAddNew","新增",True,Nothing,Nothing,True,"这是提示信息","Ctrl+G",Shortcut.CtrlG,True)

'方式二
Dim command As GridCommand  = New GridCommand()
command.Name = "cmdAddNew2"
command.Text = "新增2"
command.Visible = True
command.Shortcut = Shortcut.CtrlF
command.ShortcutText = "Ctrl+F"
command.Image = Nothing
command.UserData = Nothing
command.Delimiter = True
command.ToolTipText = "这是提示信息"
command.CannotDisabledByLockedMainRow = True
menu.AddMenu(command)

'直接根据表属性加载菜单,这个代码正常上是不需要我们用户自己去调用代码的。平台会自己执行添加相应的菜单
menu.AddMenus(Proj.CurrentSmGrid.TableID,True,True)

C#
GridMenuBase menu = Proj.OpenedForms["自定义窗体"].ControlDictionary()["BaseGridMenu1"] as GridMenuBase;
// 方式一
menu.AddMenu("cmdAddNew", "新增", true, null, null, true, "这是提示信息", "Ctrl+G", Shortcut.CtrlG, true);

// 方式二
GridCommand command = new GridCommand();
command.Name = "cmdAddNew2";
command.Text = "新增2";
command.Visible = true;
command.Shortcut = Shortcut.CtrlF;
command.ShortcutText = "Ctrl+F";
command.Image = null;
command.UserData = null;
command.Delimiter = true;
command.ToolTipText = "这是提示信息";
command.CannotDisabledByLockedMainRow = true;
menu.AddMenu(command);

// 直接根据表属性加载菜单,这个代码正常上是不需要我们用户自己去调用代码的。平台会自己执行添加相应的菜单
menu.AddMenus(Proj.CurrentSmGrid.TableID, true, true);