TheLeader 61 Geschrieben 29. Januar 2014 Melden Geschrieben 29. Januar 2014 Hallo Leute, ich habe eine kleine GUI geschrieben und da die SuFu hier mir keine für mein Problem passende Lösung ergab hier meine Frage: Wie bekomme ich den in die Inbox eingegebenen Text als Variable gespeichert um damit weiter rechnen zu können? Und hier der Code: [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") $objForm = New-Object System.Windows.Forms.Form $objForm.StartPosition = "CenterScreen" $objForm.Size = New-Object System.Drawing.Size(500,500) $objForm.Text = "Erster Test" $objLabel = New-Object System.Windows.Forms.Label $objLabel.Location = New-Object System.Drawing.Size(10,20) $objLabel.Size = New-Object System.Drawing.Size(200,50) $objLabel.Text = "Mein erstes PowerShell Fenster" $objForm.Controls.Add($objLabel) $OKButton = New-Object System.Windows.Forms.Button $OKButton.Location = New-Object System.Drawing.Size(160,420) $OKButton.Size = New-Object System.Drawing.Size(75,23) $OKButton.Text = "OK" $OKButton.Add_Click({$x=$objTextBox.Text;$objForm.Close()}) $objForm.Controls.Add($OKButton) $CancelButton = New-Object System.Windows.Forms.Button $CancelButton.Location = New-Object System.Drawing.Size(270,420) $CancelButton.Size = New-Object System.Drawing.Size(75,23) $CancelButton.Text = "Cancel" $CancelButton.Add_Click({$x="Cancel geklickt";$objForm.Close()}) $objForm.Controls.Add($CancelButton) $objForm.KeyPreview = $True $objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter") { $x="OK geklickt";$objForm.Close()} }) $objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape") { $x="Cancel geklickt";$objForm.Close()} }) $objTextBox1 = New-Object System.Windows.Forms.TextBox $objTextBox1.Location = New-Object System.Drawing.Size(10,100) $objTextBox1.Size = New-Object System.Drawing.Size(300,20) $objTextBox1.Text = "Hier Zahl eingeben" $objForm.Controls.Add($objTextBox1) $objTextBox2 = New-Object System.Windows.Forms.TextBox $objTextBox2.Location = New-Object System.Drawing.Size(10,150) $objTextBox2.Size = New-Object System.Drawing.Size(300,20) $objTextBox2.Text = "Hier Zahl eingeben" $objForm.Controls.Add($objTextBox2) [void] $objForm.ShowDialog()
mamamia 13 Geschrieben 29. Januar 2014 Melden Geschrieben 29. Januar 2014 (bearbeitet) probiers mal mit $var = $objTextBox1.Text ;) bearbeitet 29. Januar 2014 von mamamia
TheLeader 61 Geschrieben 29. Januar 2014 Autor Melden Geschrieben 29. Januar 2014 (bearbeitet) funktioniert super, danke der Code sieht nun folgendermaßen aus # Die ersten beiden Befehle holen sich die .NET-Erweiterungen (sog. Assemblys) für die grafische Gestaltung in den RAM. [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") $objForm = New-Object System.Windows.Forms.Form $objForm.StartPosition = "CenterScreen" $objForm.Size = New-Object System.Drawing.Size(500,500) $objForm.Text = "Erster Test" $objLabel = New-Object System.Windows.Forms.Label $objLabel.Location = New-Object System.Drawing.Size(10,20) $objLabel.Size = New-Object System.Drawing.Size(200,50) $objLabel.Text = "Mein erstes PowerShell Fenster" $objForm.Controls.Add($objLabel) $OKButton = New-Object System.Windows.Forms.Button $OKButton.Location = New-Object System.Drawing.Size(160,420) $OKButton.Size = New-Object System.Drawing.Size(75,23) $OKButton.Text = "OK" $OKButton.Add_Click({$x="OK geklickt";$objForm.Close()}) $objForm.Controls.Add($OKButton) $CancelButton = New-Object System.Windows.Forms.Button $CancelButton.Location = New-Object System.Drawing.Size(270,420) $CancelButton.Size = New-Object System.Drawing.Size(75,23) $CancelButton.Text = "Cancel" $CancelButton.Add_Click({$x="Cancel geklickt";$objForm.Close()}) $objForm.Controls.Add($CancelButton) $objForm.KeyPreview = $True $objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter") { $x="OK geklickt";$objForm.Close()} }) $objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape") { $x="Cancel geklickt";$objForm.Close()} }) $objTextBox1 = New-Object System.Windows.Forms.TextBox $objTextBox1.Location = New-Object System.Drawing.Size(10,100) $objTextBox1.Size = New-Object System.Drawing.Size(300,20) $objTextBox1.Text = "Hier Zahl eingeben" $objForm.Controls.Add($objTextBox1) $var1 = $objTextBox1.Text $objTextBox2 = New-Object System.Windows.Forms.TextBox $objTextBox2.Location = New-Object System.Drawing.Size(10,150) $objTextBox2.Size = New-Object System.Drawing.Size(300,20) $objTextBox2.Text = "Hier Zahl eingeben" $objForm.Controls.Add($objTextBox2) $var2 = $objTextBox2.Text $objTextBox3 = New-Object System.Windows.Forms.TextBox $objTextBox3.Location = New-Object System.Drawing.Size(10,200) $objTextBox3.Size = New-Object System.Drawing.Size(300,20) $objTextBox3.Text = "Hier Zahl eingeben" $objForm.Controls.Add($objTextBox3) $var3 = $objTextBox3.Text $var4 = $var2 + $var2 + var3 # Ausgabe $objLabel2 = New-Object System.Windows.Forms.Label $objLabel2.Location = New-Object System.Drawing.Size(10,300) $objLabel2.Size = New-Object System.Drawing.Size(200,50) $objLabel2.Text = $var4 $objForm.Controls.Add($objLabel2) # Die letzte Zeile sorgt dafür, dass unser Fensterobjekt auf dem Bildschirm angezeigt wird. # Das muss immer am Ende stehen. [void] $objForm.ShowDialog() nun gibt $objLabel2 den Text von $objTextBox1 und $objTextBox2 hintereinander aus. nun möchte ich aber das $var4 das mathematische Ergebinis aus $var1 + $var2 + $var3 ist und dies augegeben wird sobald ich auf $OKButton klicke. bearbeitet 29. Januar 2014 von TheLeader
mamamia 13 Geschrieben 29. Januar 2014 Melden Geschrieben 29. Januar 2014 Dazu brauchst du sowas wie $OKButton_Click={ $var4 = $var1+$var2+$var3 } Schau dir mal das SAPIEN Powershell Studio an, wenn du in die GUI Entwicklung willst, ist wesentlich einfacher für den start-up :)
TheLeader 61 Geschrieben 29. Januar 2014 Autor Melden Geschrieben 29. Januar 2014 (bearbeitet) ok, danke mach ich mal, mal sehen ob mir das weiter hilft edit: oh oh oh, das kann ich mir grad nicht leisten bearbeitet 29. Januar 2014 von TheLeader
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden