A function to display messages in a popup message box, with options for OK/Cancel, Yes/No or Retry/Cancel buttons.
function msgbox { param ( [string]$Message, [string]$Title = 'Message box title', [string]$buttons = 'OKCancel' ) # This function displays a message box by calling the .Net Windows.Forms (MessageBox class) # Load the assembly Add-Type -AssemblyName System.Windows.Forms | Out-Null # Define the button types switch ($buttons) { 'ok' {$btn = [System.Windows.Forms.MessageBoxButtons]::OK; break} 'okcancel' {$btn = [System.Windows.Forms.MessageBoxButtons]::OKCancel; break} 'YesNoCancel' {$btn = [System.Windows.Forms.MessageBoxButtons]::YesNoCancel; break} 'YesNo' {$btn = [System.Windows.Forms.MessageBoxButtons]::yesno; break} 'RetryCancel'{$btn = [System.Windows.Forms.MessageBoxButtons]::RetryCancel; break} default {$btn = [System.Windows.Forms.MessageBoxButtons]::RetryCancel; break} } # Display the message box $Return=[System.Windows.Forms.MessageBox]::Show($Message,$Title,$btn) # Display the option chosen by the user: $Return }
The MessageBox Button options are from the standard .Net framework MessageBox class.
Calling the MessageBox function defined above:
PS C:> msgbox "test message"
PS C:> $result = msgbox -message "test message" -title "Hello" -buttons YesNoCancel
or
PS C:> $result = msgbox "test message" "Hello" yesnocancel
“My message to everyone: the next time you hear about migrant children near the border, just picture them as your own. Then think what you would want our government to do” ~ Al Sharpton
Functions and Filters - Write a named block of code.