Windows窗体(Powershell) |消息框出现两次



祝大家都好!

下面的消息框出现了两次,我不知道为什么。只有当我在按钮之间切换时才会发生这种情况。

你能帮我理解为什么吗?

$ActiveDirectory.controls.AddRange(@($ToolsPanel,$ADToolsPanel,$VerUsersLabel,$VerUsersCancel,$VerUsersOK,$VerUsersTextBox,$FerLabelPanel))
$VerUsersOK.Add_Click({
if ($VerUsersTextBox.Textlength -eq 0){

[System.Windows.MessageBox]::Show('Não foi introduzida nenhuma informação',$ButtonText,'OK','Error')
}  

})
})

$AlButton.Add_Click({

$ActiveDirectory.controls.Clear()
$AlUsersOptionsGroupbox.controls.AddRange(@($AlUsersUnlockCheckBox,$AlUsersDisableCheckBox,$AlUsersMustChangeCheckBox,$AlUsersEnableCheckBox))
$ActiveDirectory.controls.AddRange(@($ToolsPanel,$ADToolsPanel,$AlPasswordLabel,$AlPasswordTextBox,$AlUsersLabel,$AlUsersTextBox,$AlOKButton,$AlCancelButton,$AlCPasswordLabel,$AlCPasswordTextBox,$AlUsersOptionsGroupbox))
$AlOKButton.Add_Click({
if (($AlUsersTextBox.TextLength -eq 0) -or ($AlPasswordTextBox.TextLength -eq 0) -or ($AlCPasswordTextBox.TextLength -eq 0)){
$ButtonText = $AlButton.text
[System.Windows.MessageBox]::Show('Não foi introduzida nenhuma informação',$ButtonText,'OK','Error')
}
})
})
[void]$ActiveDirectory.ShowDialog()

正如所指出的,您将$AlOKButton.Add_Click嵌套在$AlButton.Add_Click中。每次单击$AlButton时,您将向$AlOKButton添加一个侦听器。点击$AlButton10次,提示框出现10次。

$AlButton.Add_Click({
$ActiveDirectory.controls.Clear()
$AlUsersOptionsGroupbox.controls.AddRange(@($AlUsersUnlockCheckBox,$AlUsersDisableCheckBox,$AlUsersMustChangeCheckBox,$AlUsersEnableCheckBox))
$ActiveDirectory.controls.AddRange(@($ToolsPanel,$ADToolsPanel,$AlPasswordLabel,$AlPasswordTextBox,$AlUsersLabel,$AlUsersTextBox,$AlOKButton,$AlCancelButton,$AlCPasswordLabel,$AlCPasswordTextBox,$AlUsersOptionsGroupbox))
})
$AlOKButton.Add_Click({
if (($AlUsersTextBox.TextLength -eq 0) -or ($AlPasswordTextBox.TextLength -eq 0) -or ($AlCPasswordTextBox.TextLength -eq 0)){
$ButtonText = $AlButton.text
[System.Windows.MessageBox]::Show('Não foi introduzida nenhuma informação',$ButtonText,'OK','Error')
}
})

最新更新