I managed to collate a few sources and come up with a full solution for my question. The following will define a form and place 81 evenly spaced drop down boxes in it and capture the results in the variables "value$i" where $1 is a number.

# Set the size of your form
$Form = New-Object System.Windows.Forms.Form
$Form.Width = 600
$Form.height = 600
$Form.Text = ”Mat Grumps dropdown boxes example”
# Set the font of the text to be used within the form
$Font = New-Object System.Drawing.Font("Ariel",8)
$Form.Font = $Font
#Set some valus to set starting points
$i= 0
$x=30
$y=30
#Now we create 81 dropdown boxes
1..81 | ForEach-Object {"ComboBox$PSitem"} | ForEach{
$CurrentObj = $null
$CurrentObj = New-Object System.Windows.Forms.ComboBox
#increment position
if ((($i/9) -is [int]) -and ($i -gt 0))
{
$y=$y + 50
$x=$x - 540
}
#Set location of the boxes
$CurrentObj.Location = new-object System.Drawing.Size($x,($y))
#Set Size
$CurrentObj.Size = new-object System.Drawing.Size (55,40)
#define selections
@('blank',‘1’,’2’,’3',‘4’,’5’,’6’,‘7’,’8’,’9’) | ForEach-Object {[void] $CurrentObj.Items.Add($_)}
#Set default selection
$CurrentObj.SelectedIndex = 0
#Create dynamic variables to store choices
#Make sure the variable doesnt exist already
Remove-Variable -Name "value$i" -ErrorAction Ignore
#Create the dynamic variable
New-Variable "value$i" $CurrentObj
#add the buttons to the form
$form.Controls.Add($CurrentObj)
#increment some stuff
$x = $x + 60
$i++
}
#Draw the form and dropdown boxes
$form.ShowDialog()
There is a deeper explanation of the code here https://grumpy.tech/powershell-recursive-dropdown-boxes/
$dropdowntestdefined? The error indicates you've already done$dropdowntest = New-Object System.Windows.Forms.ComboBoxearlier in the script :)