我在 power shell 中编写表单脚本。在表单中,我几乎没有列表视图控件,它们将动态填充值。我创建了一个带有“导出数据”和“刷新数据”值的上下文菜单,并将其附加到所有列表视图控件。当我右键单击任何列表视图控件时,上下文菜单显示正常。当我单击菜单时,我需要导出/刷新该特定列表视图控件中的数据。我具有导出数据和刷新列表视图控件中的数据的功能。
我的问题是,我怎样才能获得我点击的列表视图名称?这样我就可以执行与该特定列表视图相关的功能。
这是代码。
$ctxMenu = New-Object System.Windows.Forms.ContextMenu
$ctxExportDataMenuItem = New-Object System.Windows.Forms.MenuItem
$ctxExportDataMenuItem.Text = "Export To CSV"
$ctxRefreshDataMenuItem = New-Object System.Windows.Forms.MenuItem
$ctxRefreshDataMenuItem.Text = "Refresh"
$ctxExportDataMenuItem.Add_Click({Export-ToCsv})
$ctxRefreshDataMenuItem.Add_Click({Refresh-ListView"})
$ctxMenu.MenuItems.AddRange(@($ctxExportDataMenuItem,$ctxRefreshDataMenuItem))
$sysSysEvtListView = New-Object System.Windows.Forms.ListView
$sysAppEvtListView = New-Object System.Windows.Forms.ListView
$sysSysEvtListView.ContextMenu = $ctxMenu
$frmMain.Controls.Add($sysSysEvtListView) | Out-Null
$sysAppEvtListView.ContextMenu = $ctxMenu
$frmMain.Controls.Add($sysAppEvtListView) | Out-Null
单击任何列表视图时,我需要将该控件名称捕获到变量中。然后在 export-tocsv 函数中,我将根据控件名称执行代码。
感谢您在此查询中帮助我。:)