Jump to content

Lukasb14

Members
  • Gesamte Inhalte

    5
  • Registriert seit

  • Letzter Besuch

Fortschritt von Lukasb14

Rookie

Rookie (2/14)

  • Einen Monat dabei
  • Eine Woche dabei
  • Erste Antwort
  • Erster eigener Beitrag

Neueste Abzeichen

1

Reputation in der Community

  1. Vielen Dank für eure Hilfe, es funktioniert nun so wie ich es will :)
  2. Danke für die Hilfe leider hab ich noch eher wenig mit PSCustomObject gearbeitet, habe nun folgendes gemacht function Button{ param( [parameter(Mandatory=$true)][ValidateNotNullOrEmpty()] $Name, [parameter(Mandatory=$true)][ValidateRange(0,300)] $posx, [parameter(Mandatory=$true)][ValidateRange(0,450)] $posy, [parameter(Mandatory=$true)][ValidateRange(0,300)] $Sizex, [parameter(Mandatory=$true)][ValidateRange(0,450)] $Sizey, [parameter(Mandatory=$true)][ValidateSet($true, $false)]$Visable, [parameter(Mandatory=$true)][ValidateSet("OK", "Cancel", "None")]$Result, [AllowEmptyString()][ValidateSet($true, $false)]$AddClick, [AllowEmptyString()]$Click ) $ButtonName = New-Object System.Windows.Forms.Button $ButtonName.Name = "Button$Name" $ButtonName.Location = New-Object System.Drawing.Point($posx,$posy) $ButtonName.Size = New-Object System.Drawing.Size($Sizex,$Sizey) $ButtonName.Text = $Name $ButtonName.DialogResult = $Result if($AddClick -eq $true){ $ButtonName.add_click({ $Click }) } if($Visable -eq $true){$form.Controls.Add($ButtonName)} [PSCustomObject]@{ Name = $ButtonName.Name Location = $ButtonName.Location Size = $ButtonName.Size Text = $ButtonName.Text DialogResult = $ButtonName.DialogResult add_click = $ButtonName.add_click } } Button -Name "OK" -posx "75" -posy "385" -Sizex "75" -Sizey "23" -Visable True -Result OK Button -Name "Cancel" -posx "150" -posy "385" -Sizex "75" -Sizey "23" -Visable True -Result Cancel Button -Name "NoPrinter" -posx "10" -posy "305" -Sizex "260" -Sizey "23" -Visable True -Result None -AddClick True -Click "$form.Controls.Remove([PSCustomObject]'ButtonOK')" Kannst mir vielleicht nochmal helfen, wie ich das PSCustomObject mit dem Namen "ButtonOK" abrufe.
  3. Hallo, danke für die ganzen Vorschläge, jedoch geht es mir nicht um den Prameter. Da ich hier "function" verwende, kann ich einen speziellen Button oder ein Label im weiteren Code nicht mehr aufrufen um es der Form hinzuzufügen oder zu entfernen. ZB möchte ich in folgender Zeile bei einem Klick auf den Button "NoPrinter" das Label mit dem "Text2" anzeigen lassen. Button -Name "NoPrinter" -posx "10" -posy "305" -Sizex "260" -Sizey "23" -Visable True -Result None -AddClick True -Click "$form.Controls.Add(Text2)" Wie kann ich herausfinden welches Label den "Text2" hat Alle Labels werden vereinfacht gesagt so erstellt: function Label{ $LabelName = New-Object System.Windows.Forms.Label } Ein "Get-Object System.Windows.Form.Label" gibt es anscheinend nicht :(
  4. Hallo dies ist nur eine Variable die übergeben wird sollte also egal sein wie diese geschrieben wird, habs trotzdem mal geändert und hab das selbe Thema ;) Außerdem ist sie auch sichtbar wenn ich sie auf true setze, möchte aber nicht dass sie von anfang an angezeigt wird. Wie im Code ersichtlich möchte ich mit einem Klick auf dem Button "NoPrinter", dass das Label mit dem Namen "Text2" sichtbar wird. Weiß allerdings nicht wie ich herausfinde wie ich genau dieses Label sichtbar mache. Folgendes funktioniert leider nicht: $form.Controls.Add(Text2)
  5. Hallo Leute, vielleicht kann mir hier jemand weiter helfen bzw. einen besseren Code vorschlagen. Vielen Dank im Voraus Ich habe/möchte eine Powershell GUI mit functions erstellen, jedoch weiß ich nicht wie ich Beispielsweise ein Label ein/ausblenden kann (Siehe letzten 15 Zeilen im Code) Hier mein derzeitiger Code: Add-Type -AssemblyName System.Windows.Forms Add-Type -AssemblyName System.Drawing $Windowname = "Script" $xmax = "300" #Am besten mit STRG+H alle Zahlen von "300" auf die gewünschte Größe ersetzen $ymax = "450" #Am besten mit STRG+H alle Zahlen von "450" auf die gewünschte Größe ersetzen function Button{ param( [parameter(Mandatory=$true)][ValidateNotNullOrEmpty()] $Name, [parameter(Mandatory=$true)][ValidateRange(0,300)] $posx, [parameter(Mandatory=$true)][ValidateRange(0,450)] $posy, [parameter(Mandatory=$true)][ValidateRange(0,300)] $Sizex, [parameter(Mandatory=$true)][ValidateRange(0,450)] $Sizey, [parameter(Mandatory=$true)][ValidateSet($true, $false)]$Visable, [parameter(Mandatory=$true)][ValidateSet("OK", "Cancel", "None")]$Result, [AllowEmptyString()][ValidateSet($true, $false)]$AddClick, [AllowEmptyString()]$Click ) $ButtonName = "Button" + $Name $ButtonName = New-Object System.Windows.Forms.Button $ButtonName.Location = New-Object System.Drawing.Point($posx,$posy) $ButtonName.Size = New-Object System.Drawing.Size($Sizex,$Sizey) $ButtonName.Text = $Name $ButtonName.DialogResult = $Result if($AddClick -eq $true){ $ButtonName.add_click({ $Click }) } if($Visable -eq $true){$form.Controls.Add($ButtonName)} } function Label{ param( [parameter(Mandatory=$true)][ValidateNotNullOrEmpty()] $Name, [parameter(Mandatory=$true)][ValidateRange(0,300)] $posx, [parameter(Mandatory=$true)][ValidateRange(0,450)] $posy, [parameter(Mandatory=$true)][ValidateRange(0,300)] $Sizex, [parameter(Mandatory=$true)][ValidateRange(0,450)] $Sizey, [parameter(Mandatory=$true)][ValidateSet($true, $false)]$Visable, [AllowEmptyString()] $Text ) $LabelName = "Label" + $Name $LabelName = New-Object System.Windows.Forms.Label $LabelName.Location = New-Object System.Drawing.Point($posx,$posy) $LabelName.Size = New-Object System.Drawing.Size($Sizex,$Sizey) $LabelName.Text = $Text if($Visable -eq $true){$form.Controls.Add($LabelName)} } function Box{ param( [parameter(Mandatory=$true)][ValidateNotNullOrEmpty()] $Name, [parameter(Mandatory=$true)][ValidateRange(0,300)] $posx, [parameter(Mandatory=$true)][ValidateRange(0,450)] $posy, [parameter(Mandatory=$true)][ValidateRange(0,300)] $Sizex, [parameter(Mandatory=$true)][ValidateRange(0,450)] $Sizey, [parameter(Mandatory=$true)][ValidateSet($true, $false)]$Visable, [parameter(Mandatory=$true)][ValidateSet("List", "Text", "Search")]$Version, [AllowEmptyString()] $input, [AllowEmptyString()] $Text ) if($Version -eq "List"){ $ListBoxName = "ListBox" + $Name $ListBoxName = New-Object System.Windows.Forms.ListBox $ListBoxName.Location = New-Object System.Drawing.Point($posx,$posy) $ListBoxName.Size = New-Object System.Drawing.Size($Sizex,$Sizey) $ListBoxName.SelectionMode = 'MultiExtended' foreach ($i in $input){[void] $ListBoxName.Items.Add($i)} $listBox.Height = $Sizey $form.Topmost = $true if($Visable -eq $true){$form.Controls.Add($ListBoxName)} }elseif($Version -eq "Text"){ $TextBoxName = "TextBox" + $Name $TextBoxName = New-Object System.Windows.Forms.TextBox $TextBoxName.Location = New-Object System.Drawing.Point($posx,$posy) $TextBoxName.Size = New-Object System.Drawing.Size($Sizex,$Sizey) $form.Topmost = $true if($Visable -eq $true){$form.Controls.Add($TextBoxName)} } } $form = New-Object System.Windows.Forms.Form $form.Text = $Windowname $form.Size = New-Object System.Drawing.Size($xmax,$ymax) $form.StartPosition = 'CenterScreen' Button -Name "OK" -posx "75" -posy "385" -Sizex "75" -Sizey "23" -Visable True -Result OK Button -Name "Cancel" -posx "150" -posy "385" -Sizex "75" -Sizey "23" -Visable True -Result Cancel Button -Name "NoPrinter" -posx "10" -posy "305" -Sizex "260" -Sizey "23" -Visable True -Result None -AddClick True -Click "$form.Controls.Add(Text2)" Label -Name "Text1" -posx "10" -posy "10" -Sizex "280" -Sizey "30" -Visable True -Text 'Wähle die Drucker aus (Mit "STRG" können mehrere ausgewählt werden)' Label -Name "Text2" -posx "10" -posy "330" -Sizex "280" -Sizey "30" -Visable False -Text 'Gib den vollständigen Druckernamen ein:' Box -Name "Text" -posx "10" -posy "350" -Sizex "260" -Sizey "20" -Visable True -Version Text $result = $form.ShowDialog()
×
×
  • Neu erstellen...