适用版本:NX6以上
01概述
在进行NX二次开发时经常需要使用NX的信息框对用户进行提示活询问等操作。为此我们通常会使用NXMessageBox类下的Show()方法显示一个信息框。但是NXOpen下的信息框格式比较固定,只能修改标题、提示类型和提示信息。如果不通过自定义其他类型的界面,是否有自由度更高的信息框方法?
02详细内容
UF方法
NXOpen中的对话框方法,调用者可以完全定义信息框的标题和信息内容。同时方法给出了错误、警告、信息和提问四种信息类型,每种对应一个图标;前三者的按钮都是确认按钮,而提问类型除了提供确认按钮有否定按钮,用户点击不同按钮会有不同的返回值。
UF中提供了另一种方法:
通过这种方法,除了NXMessageBox中提供的标题和信息内容,我们还可以定制信息框按钮的标签,输入的结构体中允许最多三个按钮的定制化,而且不受信息框类型的限制。
现假设我们有一批量操作,每个操作对象都可能会使用信息框询问用户处理的方法,如果有很多的操作对象,就可能出现多次的询问,这是第三个按钮可以提供全部确认的选项,用户就不需要多次确认。调用方式如下:
利用C#的拓展方法,我们还可以为NXMessageBox创建拓展方法,通过和NXOpenAPI类似的方法创建自定义信息框:
如上,在原来的NXMessageBox.Show()方法上再加入一个buttonLabels参数,方法将自动获取最多三个有效的按钮标签,设置并显示信息框。
使用此方法在低版本下设定按钮的标签时如果使用中文显示的结果可能会不正确。
03总结
通过UF的显示信息框方法可以自定义按钮的标签,还支持最多三个按钮,在很多情景下都很方便。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删