Jump to content

Powershell GUI-Funktion-Werteübergabe (Objektübergabe?)


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

Empfohlene Beiträge

Hallo zusammen,

ich probiere mich gerade an Funktionen im Zusammenspiel mit Powershell-GUI-Programmierung und habe folgendes Problem.

Ich habe mir überlegt, wenn ich ein Programm mit vielen Fenstern programmiere und in jedem Fenster einen Teil gleich haben möchte (zum Beispiel ein Logo oder ein CopyRight-Hinweis o.ä.) dann muss das doch mit Hilfe von einer Funktion zu machen sein, sodass ich den Code für den "gleichen Teil" nicht in jedem Fenster eintippen muss.

Daher habe ich mir folgendes Test-Programm erstellt. Hier möchte ich jetzt den CopyRight-Hinweis, der in der Funktion steckt, in das Startfenster und in das 2. Fenster einfügen. Nur leider fehlt es mir komplett an einer Idee, wie ich den Aufruf der Funktion machen muss und wie ich dann innerhalb der Funktion, diesen copyRight Hinweis für das Start oder zweite_Fenster sichtbar mache (Es muss ja als letzte Zeile dann quasi $Startfenster.Controls.Add($copyRight)  oder $zweites_Fenster.Controls.Add($copyRight) dort erscheinen)

 

Set-StrictMode -Version 5

function copyright([string]$Fenster){
  
$copyRight = New-Object System.Windows.Forms.Button
$copyRightFont = New-Object System.Drawing.Font("Calibri",9,[System.Drawing.FontStyle]::Italic)
$copyRight.Font = $copyRightFont
$copyRight.Location = New-Object System.Drawing.Size(1,150)
$copyRight.Size = New-Object System.Drawing.Size(105,20)
$copyRight.Forecolor = "gray"
$copyRight.Text = "@CopyRight-Inhaber"

$Startfenster.Controls.Add($copyRight)  #oder $zweites_Fenster.Controls.Add($copyRight)
}

#---------------------------Hauptfenter--------------------------------------------------

  $Startfenster = New-Object System.Windows.Forms.Form                                        
$Startfenster.Backcolor="white"                                                             
$Startfenster.StartPosition = "CenterScreen"                                                
$Startfenster.Size = New-Object System.Drawing.Size(400,200)
$Startfenster.Text = "dies ist das erste Fenster"                              

copyright -Fenster Startfenster
  
#----------------------button zum 2. Fenster----------------------------------------                                                    

  $button = New-Object System.Windows.Forms.Button    
$button.Backcolor="lightblue"
$button.Location = New-Object System.Drawing.Size(50,50)
$button.Size = New-Object System.Drawing.Size(100,33)
$button.Text = "zum zweiten Fenster"
$button.Add_Click({
                      #----------------------zweites Fenster-------------------------------------------------                                                    
                    
                    $zweites_Fenster = New-Object System.Windows.Forms.Form                                        
                    $zweites_Fenster.Backcolor="white"                                                             
                    $zweites_Fenster.StartPosition = "CenterScreen"                                                
                    $zweites_Fenster.Size = New-Object System.Drawing.Size(400,200)                                
                    $zweites_Fenster.Text = "dies ist das zweite Fenster"                   

                    copyright -Fenster zweites_Fenster              

$zweites_Fenster.ShowDialog()

                            })

$Startfenster.Controls.Add($button)

$Startfenster.ShowDialog()

 

 

Ich hoffe, ich habe mich einigermassen verständlich ausgedrückt und Ihr könnt mir helfen?

vielen Dank

Holger

bearbeitet von newbi2009
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...