NI TestStand自定义用户界面:如何在状态栏中添加新窗格?

更新 Jul 8, 2020

适用于

软件

  • TestStand
  • LabVIEW

其他

  • C#

问题详述

我想在自定义的NI TestStand用户界面的状态栏(Status Bar)中添加新窗格。我想在这些窗格中显示日期和时间等信息。要添加显示相应信息的这些窗格,我需要怎么做?

解决方案

NI TestStand提供了很多信息,您可以通过简单的开发在状态栏窗格中显示这些信息。在状态栏上显示这些信息之前,必须在状态栏的属性对话框中配置一个新窗格。例如,如果要在状态栏中添加日期信息,则可以在状态栏的属性对话框中添加“Date”窗格:

您需要修改GUI源代码中的两部分以启用自定义窗格显示信息:
  1. 将窗格连接到信息源。信息源通常是由管理控件(manager controls)提供的。状态栏信息通常作为Caption 提供
  2. 配置状态栏显示窗格
代码取决于所使用的编程语言。

C#:
在源代码中,搜索 ConnectStatusBarPanes 方法节点。
添加一行新代码,将“Data”窗格连接到新的信息源:
this.axApplicationMgr.ConnectCaption(panes [“ Date”],CaptionSources.CaptionSource_Date,false); 
这行代码就可以把所选信息更新到新窗格中。但是,它不会自动显示新窗格。
搜索 ShowAppropriateStatusBarPanes 方法节点,并按照名称将新窗格添加到要显示的所有窗格中:
private void ShowAppropriateStatusBarPanes()
{
	if(this.tabControl.SelectedIndex> = 0)
	{
		如果(this.axListBar.CurrentPage == SEQUENCE_FILES_PAGE_INDEX)
                //if only the files tab is visible
			axStatusBar.ShowPanes(“ User,EngineEnvironment,FileModel,FileSelectedSteps,FileNumberOfSteps,Date”);
		else		
		if this.tabControl.SelectedIndex == 0)
                //execution tab is selected
			axStatusBar.ShowPanes(“ User,EngineEnvironment,ExecutionModel,ExecutionSelectedSteps,ExecutionNumberOfSteps,Date,ProgressText,ProgressPercent”);
		else	
                //report tab is selected
			axStatusBar.ShowPanes(“ User,EngineEnvironment,ExecutionModel,ReportLocation,Date,ProgressText,ProgressPercent”);
	}
} 

LabVIEW:
在源代码中,搜索 Configure StatusBar.vi 并修改代码以向管理器控件添加新的 caption 连接:

打开并修改“Respond to Tab Control Value Change.vi”,然后将新窗格的名称(Date)添加到想要显示的窗格列表中:

相关信息

上述方法适用于管理控件中所有被定义为 caption 的信息源。为了显示自定义文本,建议使用用户界面消息“ ProgressText”来传递序列执行中要显示的文本。