Eerst en vooral: ik ben een scripter, geen programmeur. Mijn vraag zal dan ook oerdom zijn voor wie gewoon is om visueel te werken.
Ik heb een Powershell script geschreven dat, in essentie, een string als invoer heeft, wat opzoekingswerk verricht en een object uitvoert. Werkt perfect.
Uit experimenteerdrang heb ik een GUI geschreven rond dat script. Dat gaat eigenlijk al voorbij scripting, maar soit: het hele .NET framework kan tenslotte gebruikt worden in PoSh. Dus waarom ook niet. Werkt ook goed: één invoer textbox, een Find button en een hoop textboxes die de verschillende properties van dat object laten zien. Tot hier nog niets aan de hand.
Nu is mij gevraagd enkele aanpassingen te doen waardoor vanop de command line de invoer (een IP adres overigens) meegegeven kan worden zodat het automatisch ingevuld is in de GUI.
Dat lukt ook: als de parameter ($Address) bestaat assigneer ik gewoon de waarde van die parameter aan de textbox in kwestie:
Je krijgt dan dit:

Het enige dat nog ontbreekt is dat de Find-button automatisch uitgevoerd moet worden. Ik zit al een uur naar Microsoft: Button Class (System.Windows.Forms) te staren en zie niets - in die overweldigende hoeveelheid informatie - dat lijkt te doen wat ik wil, een soort $Findbutton.Execute().
Ik ben er zeker van dat dit iets eenvoudigs is, maar ik vind het niet. 't Kan er aan liggen dat het vrijdagnamiddag is
Ik heb een Powershell script geschreven dat, in essentie, een string als invoer heeft, wat opzoekingswerk verricht en een object uitvoert. Werkt perfect.
Uit experimenteerdrang heb ik een GUI geschreven rond dat script. Dat gaat eigenlijk al voorbij scripting, maar soit: het hele .NET framework kan tenslotte gebruikt worden in PoSh. Dus waarom ook niet. Werkt ook goed: één invoer textbox, een Find button en een hoop textboxes die de verschillende properties van dat object laten zien. Tot hier nog niets aan de hand.
Nu is mij gevraagd enkele aanpassingen te doen waardoor vanop de command line de invoer (een IP adres overigens) meegegeven kan worden zodat het automatisch ingevuld is in de GUI.
Dat lukt ook: als de parameter ($Address) bestaat assigneer ik gewoon de waarde van die parameter aan de textbox in kwestie:
C#:
1
2
3
4
5
6
7
| $Form.Add_Shown({$Form.Activate() If ($Address) { $Input.Text = $Address } }) [void] $Form.ShowDialog() |
Je krijgt dan dit:

Het enige dat nog ontbreekt is dat de Find-button automatisch uitgevoerd moet worden. Ik zit al een uur naar Microsoft: Button Class (System.Windows.Forms) te staren en zie niets - in die overweldigende hoeveelheid informatie - dat lijkt te doen wat ik wil, een soort $Findbutton.Execute().
Ik ben er zeker van dat dit iets eenvoudigs is, maar ik vind het niet. 't Kan er aan liggen dat het vrijdagnamiddag is
[ Voor 2% gewijzigd door YellowOnline op 20-04-2012 16:01 . Reden: Code leesbaarder gemaakt ]