winforms - powershell combobox items to variable -


i trying create powershell script gui gives user drop list of available drives , when user selects drive , clicks ok script maps drive m:\ cant work out how selected item in combo box passed variable $mapdrive

#list of drives map $drivelist = @("0.  dgl_data","1.  p1","2.  dglfsg3","3.  p3 (tpc)","4.  p4","6.  p6","7.  p7","8.  p8","9.  p9","10. p10","11. p11","12. p12") #displays drive map $mapdrive = convert.tostring($dropdown.selecteditem)  function mapdrive {  if ($mapdrive -eq $drivelist[0]){ write-output sucess > "c:\users\andy.burton\desktop\practice selector\success.txt"}  elseif ($mapdrive -eq $drivelist[1]){ write-output booyah > "c:\users\andy.burton\desktop\practice selector\yes.txt" }  else { write-output failure > "c:\users\andy.burton\desktop\practice selector\failed.txt"} }  #test function  function test { write-output $mapdrive > "c:\users\andy.burton\desktop\practice selector\success.txt" }   #function create form function generateform {  #define drive selector main form add-type -assemblyname system.windows.forms $dgl = new-object system.windows.forms.form  $dgl.text = "dgl practice manager" $dgl.topmost = $true $dgl.backgroundimage = [system.drawing.image]::fromfile("c:\users\andy.burton\desktop\practice selector\images\medical.jpg") $dgl.icon = new-object system.drawing.icon("c:\users\andy.burton\desktop\practice selector\images\medical2.ico") $dgl.width = 600 $dgl.height = 265 $dgl.minimizebox = $false $dgl.maximizebox = $false  #label display instuctions $label2 = new-object system.windows.forms.label  $label2.text = "select drive" $label2.backcolor = "#e4f3fa" $label2.autosize = $true $label2.width = 25 $label2.height = 10 $label2.location = new-object system.drawing.point(20,28) $label2.font = "microsoft sans serif,10" $dgl.controls.add($label2)   #dropdown box selecting practice $dropdown = new-object system.windows.forms.combobox  $dropdown.backcolor = "#e4f3fa" $dropdown.dropdownstyle = [system.windows.forms.comboboxstyle]::dropdownlist $dropdown.width = 243 $dropdown.height = 20 $dropdown.location = new-object system.drawing.point(21,73) $dropdown.font = "microsoft sans serif,10" $dropdown.items.addrange($drivelist) $dgl.controls.add($dropdown)   #cancel button cancel drive selection $cancelbutton = new-object system.windows.forms.button  $cancelbutton.text = "cancel" $cancelbutton.width = 60 $cancelbutton.height = 30 $cancelbutton.location = new-object system.drawing.point(210,120) $cancelbutton.font = "microsoft sans serif,10" $dgl.cancelbutton = $cancelbutton $cancelbutton.add_click({ $dgl.close();[system.windows.forms.application]::exit($null)}) $dgl.controls.add($cancelbutton)   #ok button select drive $okbutton = new-object system.windows.forms.button  $okbutton.text = "ok" $okbutton.width = 60 $okbutton.height = 30 $okbutton.location = new-object system.drawing.point(140,120) $okbutton.font = "microsoft sans serif,10" $dgl.acceptbutton = $okbutton  $mapdrive = convert.tostring($dropdown.selecteditem) #on click call practiceselectedcallback launch application $okbutton.add_click({test ; $dgl.close()}) $dgl.controls.add($okbutton)       #display form $dgl.add_shown({$dgl.activate()}) $dgl.showdialog() }    generateform 

i want hide powershell window not gui have tried -window hidden hid

the combobox has several events can tie various things. 1 of events selectedindexchanged. can add event combobox object , update $mapdrive

this code $mapdrive = convert.tostring($dropdown.selecteditem) fire once during initial compile. have use events trigger code changes after compile during runtime.

also, in powershell can use following command [system.windows.forms.combobox] | gm list of methods, , properties of object. can use [system.windows.forms.checkedlistbox].getevents() list of events of object.


Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -