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

    ''' <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. vue JS获取当前时间并格式化 ( 前端小细节,大进步 )

    JS // 获取并且格式化时间     formatter (thistime, fmt) {       let $this = new Date(thistime)       let o = { ...

  2. [考试总结]noip模拟47

    感觉自己放弃题目还是过于容易. 其实第一题不是很难,但是自己拿了一个暴力就走人了.. 然后其实简单优化一下子就有不少分数. 然后第二题的本质不同的子序列个数的方程没有推出来,如果推出来就会直接有 \( ...

  3. IMAP协议笔记

    1. IMAP客户端接收流程简介 1) 遍历所有的邮箱,获取邮箱状态,然后遍历所有邮箱获取到更新的邮件头部信息(包含收件人.发件人.主题.以及时间信息) 2)获取最新邮件的完整信息,其中也包括在第一步 ...

  4. SpringMVC基于注解开发

    一. 1.配置 适配器的作用就是规定怎么调控制器: 2.使用 controller代码 三.

  5. 尚硅谷Java基础学习笔记

    综述: Java学习图谱: 常见dos命令: 操作案例: Java语言的特点: 面向对象 两个基本概念:类.对象 三个基本特性:封装.继承.多态 健壮性.可继承性 write once,run any ...

  6. Java中HashCode()和equals()的作用

    引言 我们知道Java中的集合(Collection)大致可以分为两类,一类是List,再有一类是Set. 前者集合内的元素是有序的,元素可以重复:后者元素无序,但元素不可重复. 这里就引出一个问题: ...

  7. MapReduce 示例:减少 Hadoop MapReduce 中的侧连接

    摘要:在排序和reducer 阶段,reduce 侧连接过程会产生巨大的网络I/O 流量,在这个阶段,相同键的值被聚集在一起. 本文分享自华为云社区<MapReduce 示例:减少 Hadoop ...

  8. 深入浅出 BPF TCP 拥塞算法实现原理

    本文地址:https://www.ebpf.top/post/ebpf_struct_ops 1. 前言 eBPF 的飞轮仍然在快速转动,自从 Linux 内核 5.6 版本支持 eBPF 程序修改 ...

  9. PHP中的日期相关函数(二)

    上回文章中我们介绍了三个时间日期相关的对象,不过它们的出镜频率并不是特别地高.今天学习的对象虽说可能不少人使用过,但是它的出镜频率也是非常低的.它们其实就是我们非常常用的那些面向过程的日期函数的面向对 ...

  10. nuxt.js同路由跳转参数不同,mounted不执行时

    watch: { '$route'(to, from) { if (to.fullPath !== from.fullPath) { this.$nextTick(() => { // 不加th ...