Well to begin with, you have your "text" box defined as a button ...
Code:
$PrinterChoices = $Form.Controls.Button()
You really should take a step back and begin the form all over, it seems you have lost track of where you are trying to go with it...
Here is an example of a form that I would use (note this is KiXforms.net)
Code:
Break On
$System = CreateObject("Kixforms.System")
If Not $System
$nul= MessageBox("KiXforms.Net Not Initiated. This Script Will Now Close.","Error",16)
Quit()
EndIf
$Form3 = $System.Form()
$Form3.Left = 325
$Form3.StartPosition = 0 ;FormStartPosition_Manual
$Form3.Size = $System.Size(323,161) ;(Width,Height)
$Form3.Text = "Printer Setup"
$Form3.Top = 75
$Label1 = $System.Label()
$Label1.BorderStyle = 1 ;FixedSingle
$Label1.Left = 9
$Label1.Text = "Select Default Printer"
$Label1.Top = 9
$Label1.Width = 123
$nul = $Form3.Controls.Add($Label1)
$Label2 = $System.Label()
$Label2.BorderStyle = 1 ;FixedSingle
$Label2.Left = 162
$Label2.Text = "Select other printers"
$Label2.Top = 8
$Label2.Width = 111
$nul = $Form3.Controls.Add($Label2)
$ComboBox1 = $System.ComboBox()
$ComboBox1.Left = 8
$ComboBox1.Text = "ComboBox1"
$ComboBox1.Top = 38
$nul = $Form3.Controls.Add($ComboBox1)
$ComboBox1Item0 = $ComboBox1.Items.Add("Line1")
$ComboBox1Item1 = $ComboBox1.Items.Add("Line2")
$ComboBox1Item2 = $ComboBox1.Items.Add("Line3")
$ComboBox2 = $System.ComboBox()
$ComboBox2.Left = 160
$ComboBox2.Text = "ComboBox2"
$ComboBox2.Top = 39
$nul = $Form3.Controls.Add($ComboBox2)
$ComboBox2Item0 = $ComboBox2.Items.Add("Line1")
$ComboBox2Item1 = $ComboBox2.Items.Add("Line2")
$ComboBox2Item2 = $ComboBox2.Items.Add("Line3")
$Button1 = $System.Button()
$Button1.Left = 8
$Button1.Text = "Set Printers"
$Button1.Top = 84
$nul = $Form3.Controls.Add($Button1)
$Button2 = $System.Button()
$Button2.Left = 109
$Button2.Text = "Clear"
$Button2.Top = 84
$nul = $Form3.Controls.Add($Button2)
$Button3 = $System.Button()
$Button3.Left = 210
$Button3.Text = "Exit"
$Button3.Top = 84
$nul = $Form3.Controls.Add($Button3)
$Form3.Show ;Displays the Form
While $Form3.Visible
$Nul = Execute($Form3.DoEvents())
Loop
Exit 0
Please note this is nowhere near a working script. Just an idea of what your form should look like.