我正在尝试使用PowerShell创建Windows.Form
,其中只有在选中特定单选按钮时才会显示一组复选框。
答案 0 :(得分:1)
您可以使用CheckBox
属性控制Visible
对象的可见性:
Add-Type -AssemblyName System.Windows.Forms
$Form = New-Object System.Windows.Forms.Form
#region ConditionalCheckBoxes
# Create a bunch of CheckBoxes and set their visibility to hidden
$CheckBox1 = New-Object System.Windows.Forms.CheckBox
$CheckBox1.Text = "Option 1"
$CheckBox1.Visible = $false
$CheckBox1.Top = 50
$CheckBox2 = New-Object System.Windows.Forms.CheckBox
$CheckBox2.Text = "Option 2"
$CheckBox2.Visible = $false
$CheckBox2.Top = 75
$CheckBox3 = New-Object System.Windows.Forms.CheckBox
$CheckBox3.Text = "Option 3"
$CheckBox3.Visible = $false
$CheckBox3.Top = 100
#endregion
#region RadioToggleGroup
$RadioToggleGroup = New-Object System.Windows.Forms.Panel
#endregion
#region RadioToggleOn
$RadioToggleOn = New-Object System.Windows.Forms.RadioButton
$RadioToggleOn.Text = "Show"
$RadioToggleOn.Left = 10
# Make sure checkboxes are made visible when clicking the radio button
$RadioToggleOn.Add_Click({
$CheckBox1.Visible = $true
$CheckBox2.Visible = $true
$CheckBox3.Visible = $true
})
$RadioToggleGroup.Controls.Add($RadioToggleOn)
#endregion
#region RadioToggleOff
$RadioToggleOff = New-Object System.Windows.Forms.RadioButton
# Make sure checkboxes are hidden again
$RadioToggleOff.Text = "Hide"
$RadioToggleOff.Top = 25
$RadioToggleOff.Left = 10
$RadioToggleOff.Add_Click({
$CheckBox1.Visible = $false
$CheckBox2.Visible = $false
$CheckBox3.Visible = $false
})
$RadioToggleGroup.Controls.Add($RadioToggleOff)
#endregion
$CheckBox1,$CheckBox2,$CheckBox3,$RadioToggleGroup |% {$Form.Controls.Add($_)}
$Form.ShowDialog()
同样,您可以将所有CheckBox
个对象放在GroupBox
或Panel
中,并控制其可见性