有时候在激活一个命令按钮的时候,需要同时禁止掉另外一个或多个命令按钮

    ''' <summary>
''' 取按钮是否敏感
''' </summary>
''' <param name="btnName">按钮名称</param>
''' <returns><c>true</c> 如果敏感(没有被屏蔽), <c>false</c> 否则.</returns>
Public Function GetMenuButtonSensitivity(ByVal btnName As String) As Boolean
Dim menuBtn As NXOpen.MenuBar.MenuButton = NXOpen.UI.GetUI().MenuBarManager.GetButtonFromName(btnName)
If menuBtn IsNot Nothing Then
Return menuBtn.ButtonSensitivity = MenuButton.SensitivityStatus.Sensitive
End If
Return False
End Function ''' <summary>
''' 设置按钮敏感状态
''' </summary>
''' <param name="btnName">按钮名称</param>
''' <param name="IsSensitivity">是否敏感(不屏蔽)</param>
Public Sub SetMenuButtonSensitivity(ByVal btnName As String, ByVal IsSensitivity As Boolean)
Dim menuBtn As NXOpen.MenuBar.MenuButton = NXOpen.UI.GetUI().MenuBarManager.GetButtonFromName(btnName)
If menuBtn IsNot Nothing Then
menuBtn.ButtonSensitivity = If(IsSensitivity, MenuButton.SensitivityStatus.Sensitive, MenuButton.SensitivityStatus.Insensitive)
End If
End Sub ''' <summary>
''' 取NX锁定状态
''' </summary>
''' <returns><c>true</c> 如果锁定(屏蔽所有按钮), <c>false</c> 否则.</returns>
Public Function GetNXLockStatus() As Boolean
Return NXOpen.UI.GetUI().AskLockStatus() = NXOpen.UI.Status.Lock
End Function ''' <summary>
''' 设置NX锁定状态
''' </summary>
''' <param name="isLock">如果锁定(屏蔽所有按钮),设置为<c>true</c> .</param>
Public Sub SetNXLockStatus(ByVal isLock As Boolean)
If isLock Then
NXOpen.UI.GetUI().LockAccess()
Else
NXOpen.UI.GetUI().UnlockAccess()
End If
End Sub

VB.NET代码

/// <summary>
/// 取按钮是否敏感
/// </summary>
/// <param name="btnName">按钮名称</param>
/// <returns><c>true</c> 如果敏感(没有被屏蔽), <c>false</c> 否则.</returns>
public bool GetMenuButtonSensitivity(string btnName)
{
NXOpen.MenuBar.MenuButton menuBtn = NXOpen.UI.GetUI().MenuBarManager.GetButtonFromName(btnName);
if (menuBtn != null) {
return menuBtn.ButtonSensitivity == MenuButton.SensitivityStatus.Sensitive;
}
return false;
} /// <summary>
/// 设置按钮敏感状态
/// </summary>
/// <param name="btnName">按钮名称</param>
/// <param name="IsSensitivity">是否敏感(不屏蔽)</param>
public void SetMenuButtonSensitivity(string btnName, bool IsSensitivity)
{
NXOpen.MenuBar.MenuButton menuBtn = NXOpen.UI.GetUI().MenuBarManager.GetButtonFromName(btnName);
if (menuBtn != null) {
menuBtn.ButtonSensitivity = IsSensitivity ? MenuButton.SensitivityStatus.Sensitive : MenuButton.SensitivityStatus.Insensitive;
}
} /// <summary>
/// 取NX锁定状态
/// </summary>
/// <returns><c>true</c> 如果锁定(屏蔽所有按钮), <c>false</c> 否则.</returns>
public bool GetNXLockStatus()
{
return NXOpen.UI.GetUI().AskLockStatus() == NXOpen.UI.Status.Lock;
} /// <summary>
/// 设置NX锁定状态
/// </summary>
/// <param name="isLock">如果锁定(屏蔽所有按钮),设置为<c>true</c> .</param>
public void SetNXLockStatus(bool isLock)
{
if (isLock) {
NXOpen.UI.GetUI().LockAccess();
} else {
NXOpen.UI.GetUI().UnlockAccess();
}
}

C#代码

NX屏蔽窗口的按钮的更多相关文章

  1. 激活NX窗口的按钮

    原理:取得按钮名称以后,通过运行宏文件激活按钮 Imports System.IO Imports System.Runtime.InteropServices Imports NXOpen.Menu ...

  2. window窗口-button(按钮)-dialog(对话框,带按钮)

    描述:一个可拖动的窗口程序,默认情况下窗口自由移动.调整大小.打开关闭! 案例1(普通的窗口): <div class="easyui-window" icon-Cls=&q ...

  3. Python pyQt4/pyQt5 学习笔记1(空白窗口,按钮,控件事件,控件提示,窗体显示到屏幕中间,messagebox)

    PyQt4是用来编写有图形界面程序(GUI applications)的一个工具包.PyQt4作为一个Python模块来使用,它有440个类和超过6000种函数和方法.同时它也是一个可以在几乎所有主流 ...

  4. 【windows 操作系统】什么是窗口?|按钮也是窗口

    起因 在看操作系统消息机制的时候,看到一句化:全局消息队列把消息发送到窗口所在的线程消息队列.突然就怀疑起了窗口的意思.于是就有这边基类. 文章来源:https://docs.microsoft.co ...

  5. 关于wxwidgets图形界面的关闭窗口的按钮无效的解决办法

    这是使用wxsmith设计界面时的情况,如果用纯代码写的界面,关闭按钮就很奇怪地有效 道听途说,窗口的关闭是由一个方法控制着.大概是这样的: void PlainFrame::OnClose(wxCl ...

  6. Lodop窗口的按钮、权限,隐藏或设置功能不可用

    Lodop隐藏某个按钮或部分,具体参考Lodop技术手册 SET_SHOW_MODE篇.以下是几个例子,(对应下图图片): 第一种:LODOP.SET_SHOW_MODE ("HIDE_PB ...

  7. Ubuntu GNOME 13.04将关闭窗口的按钮放在最右边

    转载请注明:转自http://blog.csdn.net/u010811449/article/details/9426187 先上图: 首先打开dconf系统配置编译器. 找到 rog -> ...

  8. Android 屏蔽recent task 按钮

    Step 1 Add this permission to the manifest.xml file <uses-permission android:name="android.p ...

  9. pyqt5 设置窗口按钮等可用与不可用

    setEnabled(True) 设置窗口或者按钮可用,Flase不可用

随机推荐

  1. centos7 配置 ftp 服务器(本地用户)

    2021-09-02 1. 安装 # 安装 vsftpd yum -y install vsftpd 2. 启动服务并添加到开机自启 # 启动 vsftpd systemctl start vsftp ...

  2. 从一个跨二十年的glibc bug说起

    1. 缘起 这几天调gcc 7.5.0 +glibc 2.23的交叉编译工具链,由于gcc 7.5.0的默认打开Werr,偶然发现了glibc一个隐藏了二十年的世纪大bug. 这个bug在glibc ...

  3. vivo营销自动化技术解密|开篇

    一.营销自动化概览 1.1. 什么是营销自动化 营销自动化是指专门为营销部门或组织设计的软件平台和技术,可以更有效地在线进行多渠道营销并使重复性任务自动化.营销部门和销售人员通过制定任务和流程的操作标 ...

  4. ABP 极简入门教程(三 权限)

    此处演示为MVC项目,同样权限定义需要到Application中才能在获取API时进行权限验证 一.打开Sample.Core\Authorization\PermissionNames.cs增加授权 ...

  5. JPA实现泛型baseServcie+Mybatis

    在开发的过程中,我们总无法避免不同的实体类会去实现相同的操作(增删查改,分页查询等),因此在开发时,我们期望泛型将通用的方法进行包装,使我们能够专注于实体类自身的独特方法,而非一般性常用且重复性高的方 ...

  6. FinallShell连接Centos虚拟机

    1.虚拟机下输入ip addr查看网络状态,保证ens33下有ip 2.若没有IP的解决办法 方法一················· 1.输入 cd /etc/sysconfig/network-s ...

  7. 添加class和删除class以及判断是否含有class

      addClass(document.body, 'showRightPanel') removeClass(document.body, 'showRightPanel') /**  * Add  ...

  8. 处理器核、Core、处理器、CPU区别&&指令集架构与微架构的区别&&32位与64位指令集架构说明

    1.处理器核.Core.处理器.CPU的区别 严格来说"处理器核"和" Core "是指处理器内部最核心的部分,是真正的处理器内核:而"处理器&quo ...

  9. 完全分布式Hadoop2.X的搭建

    准备工作: 安装jdk 克隆2台虚拟机完成后:新的2台虚拟机,请务必依次修改3台虚拟机的ip地址和主机名称[建议三台主机名称依次叫做:master.node1.node2 ](虚拟机的克隆,前面的博客 ...

  10. axios与vue-resource

    在Vue项目中前后端交互时,早期Vue使用Vue-resource实现异步请求.从Vue2.0之后就不再对vue-resource进行更新,Vue官方推荐使用axios. vue-resource V ...