Jump to content

Inbox abfragen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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()

 

Link zu diesem Kommentar

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 von TheLeader
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...