验证至少一个复选框已被选中
Validate at least one checkbox has been checked
我希望让用户至少选中一个选项。有多少并不重要,但至少需要检查一个。如果不是,则需要生成错误。
有没有办法用 GroupBox
或其他类型的容器来做到这一点?
这是我的复选框代码:
$groupBox1 = New-Object System.Windows.Forms.GroupBox
$groupBox1.Location = New-Object System.Drawing.Point(8, 120)
$groupBox1.Size = New-Object System.Drawing.Size(120, 144)
$groupBox1.TabIndex = 0
$groupBox1.TabStop = $false
$groupBox1.Text = 'Options:'
$checkBox1 = New-Object System.Windows.Forms.CheckBox
$checkBox1.Location = New-Object System.Drawing.Point(8, 8)
$checkBox1.TabIndex = 1
$checkBox1.Text = 'Banana'
$checkBox2 = New-Object System.Windows.Forms.CheckBox
$checkBox2.Location = New-Object System.Drawing.Point(8, 40)
$checkBox2.TabIndex = 2
$checkBox2.Text = 'Apple'
这可以使用 if 测试轻松完成,例如:
if($checkBox1.Checked -or $checkBox2.Checked) {
#Continue work
}
什么时候检查?
当您单击按钮时? 在按钮的单击事件处理程序中添加 if 测试。
是否应在选中按钮之前将其禁用(变灰)?
将 if-test 和 enable/disable 按钮代码添加到复选框 checked-eventhandler.
如果在单击按钮时选中此项,而您只想生成错误,则:
if(-not($checkBox1.Checked -or $checkBox2.Checked)) {
#Throw exception
Write-Error No checkboxes checked
#Error popup only
[System.Windows.Forms.MessageBox]::Show("Check minimum one checkbox!",
"ERROR",
[System.Windows.Forms.MessageBoxButtons]::OK,
[System.Windows.Forms.MessageBoxIcon]::Error) | Out-Null
}
我希望让用户至少选中一个选项。有多少并不重要,但至少需要检查一个。如果不是,则需要生成错误。
有没有办法用 GroupBox
或其他类型的容器来做到这一点?
这是我的复选框代码:
$groupBox1 = New-Object System.Windows.Forms.GroupBox
$groupBox1.Location = New-Object System.Drawing.Point(8, 120)
$groupBox1.Size = New-Object System.Drawing.Size(120, 144)
$groupBox1.TabIndex = 0
$groupBox1.TabStop = $false
$groupBox1.Text = 'Options:'
$checkBox1 = New-Object System.Windows.Forms.CheckBox
$checkBox1.Location = New-Object System.Drawing.Point(8, 8)
$checkBox1.TabIndex = 1
$checkBox1.Text = 'Banana'
$checkBox2 = New-Object System.Windows.Forms.CheckBox
$checkBox2.Location = New-Object System.Drawing.Point(8, 40)
$checkBox2.TabIndex = 2
$checkBox2.Text = 'Apple'
这可以使用 if 测试轻松完成,例如:
if($checkBox1.Checked -or $checkBox2.Checked) {
#Continue work
}
什么时候检查?
当您单击按钮时? 在按钮的单击事件处理程序中添加 if 测试。
是否应在选中按钮之前将其禁用(变灰)? 将 if-test 和 enable/disable 按钮代码添加到复选框 checked-eventhandler.
如果在单击按钮时选中此项,而您只想生成错误,则:
if(-not($checkBox1.Checked -or $checkBox2.Checked)) {
#Throw exception
Write-Error No checkboxes checked
#Error popup only
[System.Windows.Forms.MessageBox]::Show("Check minimum one checkbox!",
"ERROR",
[System.Windows.Forms.MessageBoxButtons]::OK,
[System.Windows.Forms.MessageBoxIcon]::Error) | Out-Null
}