苏州三木软件科技有限公司

 找回密码
 立即注册
搜索
热搜: 活动
查看: 438|回复: 1

空白区域菜单,新增多行 这行可以设置隐藏么?

[复制链接]

56

主题

98

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
发表于 2025-6-6 19:01:54 | 显示全部楼层 |阅读模式
空白区域菜单,新增多行 这行可以设置隐藏么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

106

主题

473

帖子

2953

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2953
QQ
发表于 2025-6-6 21:00:06 | 显示全部楼层
右键菜单的自定义可以考虑参考:http://www.sanmugrid.com/help/in ... ShowContextMenu.htm
http://www.sanmugrid.com/help/in ... %8F%9C%E5%8D%95.htm

具体到本贴中的需要删除一个菜单,可以参考下面的代码。如果想在多表实现相同效果,记得将代码放到全局表事件中去。
  1.                 public void BeforeShowContextMenu(object sender, sanMuSoft.CS.WinForm.BeforeShowContextMenuEventArgs e)
  2.                 {
  3.                         switch (e.HitType)
  4.                         {
  5.                                 case HitTestTypeEnum.None: //空白区域
  6.                                 {
  7.                                         // 遍历所有菜单
  8.                                         foreach (SmCommandLink item in e.ContextMenu.CommandLinks)
  9.                                         {
  10.                                                 if(item.Text=="新增多行")
  11.                                                 {
  12.                                                         //这个可能会影响其他地方的新增多行的命令,可以试试
  13.                                                         item.Command.Visible=false;
  14.                                                 }
  15.                                         }
  16.                                         break;
  17.                                 }
  18.                                 
  19.                                 default:
  20.                                 {
  21.                                         break;
  22.                                 }
  23.                         }
  24.                         
  25.                 }
复制代码


Vb.net版本的代码
  1. Public Sub BeforeShowContextMenu(sender As Object, e As BeforeShowContextMenuEventArgs)
  2.     Select Case e.HitType
  3.         Case HitTestTypeEnum.None '空白区域
  4.             ' 遍历所有菜单
  5.             For Each item As SmCommandLink In e.ContextMenu.CommandLinks
  6.                 If item.Text = "新增多行" Then
  7.                     '这个可能会影响其他地方的新增多行的命令,可以试试
  8.                     item.Command.Visible = False
  9.                 End If
  10.             Next
  11.         Case Else
  12.             ' Do nothing
  13.     End Select
  14. End Sub
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|苏州三木软件科技有限公司 ( 苏ICP备2022038390号 )

苏公网安备 32058502010732号

GMT+8, 2025-6-15 06:44 , Processed in 0.079452 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表