我有一些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')
答案 0 :(得分:1)
不是多个if($buttonWhatever.clicked)
,而是将an event handler附加到按钮本身并使其完成所有工作。
$btnGetOSInfo.Add_Click(
{
# stuff for getting OS
}
)
$btnGetDiskInfo.Add_Click(
{
# stuff for getting Disk info
}
)