PowerShell:如何检查单击了哪个按钮

时间:2014-06-23 13:25:56

标签: powershell button user-interface

我有一些gui带有一些按钮来检查一些系统信息。例程始终相同,但我不想写5次。如何查看用户按下了哪个按钮?

例如:

Foreach ($server in $serverlist) {

   If ( (Test-Connection $server -Quiet -count 1) ) {

      If ($button1.clicked) {

         #Get OS Info

      }

      Else {}

      If ($button2.clicked) {

         #Get Disk Info

      }

      Else {}              


   Else {

      Write-Output "`r`n$server not available...`r`n" | Out-File c:\temp\error.txt

   }

   }

   Else {}

}

[reflection.assembly]::loadwithpartialname('system.windows.forms'); [system.Windows.Forms.MessageBox]::show('query complete')

1 个答案:

答案 0 :(得分:1)

不是多个if($buttonWhatever.clicked),而是将an event handler附加到按钮本身并使其完成所有工作。

$btnGetOSInfo.Add_Click(
{
# stuff for getting OS
}
)

$btnGetDiskInfo.Add_Click(
{
# stuff for getting Disk info
}
)