Jump to content

MoritzJ

Members
  • Gesamte Inhalte

    2
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von MoritzJ

  1. Moin,

    ich versuche gerade mich ein wenig in das Thema Powershell einzuarbeiten da ich einige repetitive Aufgaben habe die ich gut so abbilden kann. Hierzu wollte ich mir ein GUI basteln und im Powershell ISE wird das ganze auch korrekt angezeigt. Wenn ich das Script allerdings mit "Rechtsklick "Run with Powershell" starte ist das Menu weg, habe keine Ahnung wieso. Mein Grundscript besteht aus 4 Dateien (bin für eine grundlegende Trennung von Sachen aber vielleicht ist genau das mein Problem) die wie folgt aussehen:

    main.ps1 (mit dem Starte ich alles)
     

    Add-Type -assembly System.Windows.Forms
    # Import GUI settings
    . $PSScriptRoot\gui_settings.ps1
    # Import GUI menu
    . $PSScriptRoot\gui_menu.ps1
    # Import GUI specific functions
    . $PSScriptRoot\gui_functions.ps1
    # Load form
    $main_form.ShowDialog()

     

    gui_settings.ps1
     

    $gui_settings_title ='GUI for Teamcenter / NX / General Administration'
    $gui_settings_Width = 1200
    $gui_settings_Height = 800
    $gui_settings_AutoSize = $false
    $gui_settings_Icon = "$PSScriptRoot\images\netfol.ico"
    #$gui_settings_Logo = "$PSScriptRoot\images\logo.jpg"
    #$img = [System.Drawing.Image]::Fromfile($gui_settings_Logo);
    
    # DO NOT CHANGE ANYTHING BELOW THIS LINE
    
    $main_form = New-Object System.Windows.Forms.Form
    $objIcon = New-Object system.drawing.icon ($gui_settings_Icon)
    $statusbar = New-Object System.Windows.Forms.StatusBar
    #$pictureBox = new-object Windows.Forms.PictureBox
    #$pictureBox.Location = New-Object System.Drawing.Size(900,150)
    #$pictureBox.Size = New-Object System.Drawing.Size($img.Width,$img.Height)
    #$pictureBox.Image = $img
    
    
    
    $main_form.StartPosition = "CenterScreen"
    $main_form.Text = $gui_settings_title
    $main_form.Width = $gui_settings_Width
    $main_form.Height = $gui_settings_Height
    $main_form.AutoSize = $gui_settings_AutoSize
    $main_form.MainMenuStrip = $menuMain
    $main_form.Controls.Add($menuMain)
    $main_form.Icon = $objIcon
    $main_form.BackColor = "white"
    
    #logo
    
    
    # status bar
    $statusbar.Name = "statusBar"
    $statusbar.Text = "Ready"
    
    # add controls
    [void]$main_Form.Controls.Add($menuMain)
    [void]$main_Form.Controls.Add($statusbar)
    #[void]$main_Form.Controls.Add($pictureBox)

     

    gui_menu.ps1

     

    # Define menu objects
    $menuMain         = New-Object System.Windows.Forms.MenuStrip
    $mainToolStrip    = New-Object System.Windows.Forms.ToolStrip
    $menuFile         = New-Object System.Windows.Forms.ToolStripMenuItem
    $menuOpen         = New-Object System.Windows.Forms.ToolStripMenuItem
    $menuSave         = New-Object System.Windows.Forms.ToolStripMenuItem
    $menuExit = New-Object System.Windows.Forms.ToolStripMenuItem
    $menuHelp         = New-Object System.Windows.Forms.ToolStripMenuItem
    $menuAbout        = New-Object System.Windows.Forms.ToolStripMenuItem
    $toolStripOpen    = New-Object System.Windows.Forms.ToolStripButton
    $toolStripSave    = New-Object System.Windows.Forms.ToolStripButton
    $toolStripExit = New-Object System.Windows.Forms.ToolStripButton
    $toolStripAbout = New-Object System.Windows.Forms.ToolStripButton
    
    # Menu: File
    $menuFile.Text = "File"
    [void]$menuMain.Items.Add($menuFile)
    # Menu: File -> Open
    $menuOpen.Text = "Open"
    $menuOpen.Add_Click({OpenFile})
    [void]$menuFile.DropDownItems.Add($menuOpen)
    # Menu: File -> Save
    $menuSave.Text         = "Save"
    $menuSave.Add_Click({SaveFile})
    [void]$menuFile.DropDownItems.Add($menuSave)
    # Menu: File -> Exit
    $menuExit.Text         = "Exit"
    $menuExit.Add_Click({$main_Form.Close()})
    [void]$menuFile.DropDownItems.Add($menuExit)
    # Menu: Help
    $menuHelp.Text = "Help"
    [void]$menuMain.Items.Add($menuHelp)
    # Menu: Help -> About
    $menuAbout.Text = "About"
    $menuAbout.Add_Click({ShowAbout})
    [void]$menuHelp.DropDownItems.Add($menuAbout)

     

    gui_functions.ps1

     

    function ShowAbout {
    [void] [System.Windows.MessageBox]::Show( "This is just for testing purpose only! DON'T USE IT IN A LIVE ENVIRONMENT!" )
    }

     

    Vielleicht kann mich jemand erleuchten, vielen Dank im Vorraus :) 

×
×
  • Neu erstellen...