Learning GUI Toolmaking Series


Scripting is one thing, but to make your tools really pop, you’ll eventually want to build your own Graphical User Interface for end-users to use, especially those who might be frightened of using a scripting environment like PowerShell.

In this series, I’ll take you step by step, from creating a GUI using the slower but easy to understand System.Windows.Forms method to the super quick, super effective XAML/WPF approach, using Visual Studio.

As time goes on and I post more and more about GUI Toolmaking, this post will always be updated with the newest links

XAML And Visual Studio

Slow Method = Windows Forms

16 thoughts on “Learning GUI Toolmaking Series

  1. James January 27, 2016 / 10:27 am

    Hi Steven,

    Awesome blog, any ideas why the below GUI for starting a service fails…

    Function Services {
    param($computer, $service)


    Get-Service -Name $WPFService.Text -computer $WPFServer.Text | Set-Service -Status Running


    • FoxDeploy January 27, 2016 / 11:04 am

      Please post the code in paste bin or a github gist and then give the link. Need to know more to guess why it’s broke!


    • FoxDeploy April 11, 2016 / 9:18 am

      Hi James,

      Found the issue. You created a function to start a service, but never called it. I just removed the Function StartService{ and closing curly brace } from lines 76 and 80 and it works.


  2. Stacy February 10, 2016 / 4:35 pm

    really like your blog. Do you have an ETA for part 5? I would like to know how progress bar works.


    • FoxDeploy February 10, 2016 / 4:53 pm

      If you’d like to see progress bars, check out tiberriver256.github.io, he made an awesome module for progress bars.

      I just had a baby, so I’m working on part V in between diapers!


      • Stacy February 10, 2016 / 5:00 pm

        Thank you for the fast answer. Good luck with baby #2.


  3. Vladimir November 17, 2016 / 1:59 pm

    Could you explane how to use multi-form GUI with powershell and WPF, please? (One form call another one and send data etc )


    • FoxDeploy November 17, 2016 / 4:19 pm

      As in one GUI launches, then closes, and then we carry the results on to the next UI pane?


  4. LastTanesha January 17, 2018 / 2:54 pm

    I have noticed you don’t monetize your site, don’t waste your traffic, you can earn extra cash every month because you’ve
    got hi quality content. If you want to know how to make extra bucks, search for: Mertiso’s tips best adsense alternative

    Liked by 1 person

    • FoxDeploy January 17, 2018 / 2:58 pm

      Fuck off man. I’ve recieved this exact message like ten times in the last week. Please jump off a cliff.

      Liked by 3 people

Have a code issue? Share your code by going to Gist.github.com and pasting your code there, then post the link here!

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.