#powershell #button #user-interface
#powershell #кнопка #пользовательский интерфейс
Вопрос:
У меня есть графический интерфейс с несколькими кнопками для проверки некоторой системной информации. Процедура всегда одна и та же, но я не хочу писать ее 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:temperror.txt
}
}
Else {}
}
[reflection.assembly]::loadwithpartialname('system.windows.forms'); [system.Windows.Forms.MessageBox]::show('query complete')
Ответ №1:
Вместо нескольких if($buttonWhatever.clicked)
, прикрепите обработчик событий к самой кнопке и заставьте его выполнять всю работу.
$btnGetOSInfo.Add_Click(
{
# stuff for getting OS
}
)
$btnGetDiskInfo.Add_Click(
{
# stuff for getting Disk info
}
)