Jump to content

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


Recommended Posts

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

Edited by newbi2009
Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...