Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 7317
  • Last Modified:

Multiple radio button (2 groups) popup options with Powershell

I need help with a powershell script.  I am missing 2 features that I cannot figure how to write.  On 1 popup form, I'd like (using radio buttons) two sets of choices and have them spit out 2 variables.  Like this:

Choice 1:
Blue
Green
Red

Choice 2:
Car
Truck
Motorcycle

Results:
Blue Car


My code below will create 1 set of options, now how do I create a second set?  Finally, I'd also like to have a default options radio button selected, any help?  Like set the default radio to Car & blue?
[VOID][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") 
 
# create form
$form = New-Object Windows.Forms.Form
$form.text = "What do you want to do?"
$form.top = 10
$form.left = 10
$form.height = 130
$form.width = 275
 
# create label
$label = New-Object Windows.Forms.Label
$label.text = "Select a button"
$label.height = 30
$label.width = 75
$label.top = 2
$label.left = 25
$form.controls.add($label)
 
# create radiobutton
$RadioButton = New-Object Windows.Forms.radiobutton
$RadioButton.text = "Button Text"
$RadioButton.height = 20
$RadioButton.width = 150
$RadioButton.top = 2
$RadioButton.left = 100
$form.controls.add($RadioButton)
 
 
# create radiobutton1
$radiobutton1 = New-Object Windows.Forms.radiobutton
$RadioButton1.text = "Button Text1"
$RadioButton1.height = 20
$RadioButton1.width = 150
$RadioButton1.top = 30
$RadioButton1.left =100
$form.controls.add($RadioButton1)
 
 
# create event handler for button
$event = {
if($radiobutton.checked){write-host "button pressed"}
if($radiobutton1.checked){write-host "button1 pressed"}
$form.Close()
}
 
# create button
$button = New-Object Windows.Forms.Button
$button.Add_Click($event)
$button.text = "OK"
$button.height = 20
$button.width = 50
$button.top = 60
$button.left = 100
$form.controls.add($button)
 
 
# attach controls to form
$form.controls.add($button)
$form.controls.add($label)
$form.controls.add($textbox)
 
[VOID]$form.showdialog()

Open in new window

0
Unisys1
Asked:
Unisys1
  • 2
1 Solution
 
Unisys1Author Commented:
OK, I found the second part to my question, that was easy.  It's the first part I can't find an answer googling :-(
$RadioButton.checked = "True"

Open in new window

0
 
Unisys1Author Commented:
Please bare with me as I am very new to Powershell, & Scripting in General, but It looks like I have found what I am looking for.  It was Groupbox.  Please review my code below and tell me where I may make improvements, but this is exactly what I was looking for.  
[VOID][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") 
 
# create form
$form = New-Object Windows.Forms.Form
$form.text = "What do you want to do?"
$form.top = 10
$form.left = 10
$form.height = 250
$form.width = 375
 
# create label
$label = New-Object Windows.Forms.Label
$label.text = "Select a button"
$label.height = 30
$label.width = 75
$label.top = 2
$label.left = 25
$form.controls.add($label)
 
 
# create radiobutton
$RadioButton = New-Object Windows.Forms.radiobutton
$RadioButton.text = "Button Text"
$RadioButton.height = 20
$RadioButton.width = 150
$RadioButton.top = 20
$RadioButton.left = 5
$RadioButton.checked = "True"
 
# create radiobutton1
$radiobutton1 = New-Object Windows.Forms.radiobutton
$RadioButton1.text = "Button Text1"
$RadioButton1.height = 20
$RadioButton1.width = 150
$RadioButton1.top = 40
$RadioButton1.left =5
 
# create Groupbox
$GroupBox0 = New-Object Windows.Forms.GroupBox
$GroupBox0.Left = 10
$GroupBox0.Text = "1st Set"
$GroupBox0.Top = 42
$GroupBox0.Width = 160
$GroupBox0.Height = 100
$GroupBox0.Controls.Add($RadioButton)
$GroupBox0.Controls.Add($RadioButton1)
 
# create radiobutton
$RadioButton2 = New-Object Windows.Forms.radiobutton
$RadioButton2.text = "Button Text2"
$RadioButton2.height = 20
$RadioButton2.width = 160
$RadioButton2.top = 20
$RadioButton2.left = 5
$RadioButton2.checked = "True"
 
# create radiobutton2
$radiobutton3 = New-Object Windows.Forms.radiobutton
$RadioButton3.text = "Button Text3"
$RadioButton3.height = 20
$RadioButton3.width = 150
$RadioButton3.top = 40
$RadioButton3.left = 5
 
# create Groupbox
$GroupBox1 = New-Object Windows.Forms.GroupBox
$GroupBox1.Left = 180
$GroupBox1.Text = "2nd Set"
$GroupBox1.Top = 42
$GroupBox1.Width = 170
$GroupBox1.Height = 100
$GroupBox1.Controls.Add($RadioButton2)
$GroupBox1.Controls.Add($RadioButton3)
 
# create event handler for button
$event = {
if($radiobutton.checked){write-host "button pressed"}
if($radiobutton1.checked){write-host "button1 pressed"}
if($radiobutton2.checked){write-host "button2 pressed"}
if($radiobutton3.checked){write-host "button3 pressed"}
$form.Close()
}
 
# create button
$button = New-Object Windows.Forms.Button
$button.Add_Click($event)
$button.text = "OK"
$button.height = 20
$button.width = 50
$button.top = 150
$button.left = 120
$form.controls.add($button)
 
 
# attach controls to form
$form.controls.add($Groupbox0)
$form.controls.add($Groupbox1)
$form.controls.add($button)
$form.controls.add($label)
$form.controls.add($textbox)
 
[VOID]$form.showdialog()

Open in new window

0
 
garryshapeCommented:
Thanks for self-posting resolution.

So that worked for you, right? I'm about to try radio button on my script and want to make sure I get it right.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Creating Active Directory Users from a Text File

If your organization has a need to mass-create AD user accounts, watch this video to see how its done without the need for scripting or other unnecessary complexities.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now