diff --git a/README.md b/README.md
index 795c2dd..19da7dd 100644
--- a/README.md
+++ b/README.md
@@ -71,10 +71,20 @@ Create a runspace.
+
+
+
+
+
+
+
+
+
+
@@ -119,7 +129,7 @@ Create a runspace.
$SynchronizedHashtable.UIControls.BTN_OK.Add_Click({$Null = $SynchronizedHashtable.UIWindow.Close()})
- $Null = $SynchronizedHashtable.UIWindow.ShowDialog()
+ $Null = $SynchronizedHashtable.UIWindow.Dispatcher.InvokeAsync{($SynchronizedHashtable.UIWindowResult = $SynchronizedHashtable.UIWindow.ShowDialog())}.Wait()
}
$SynchronizedHashtable = [System.Collections.Hashtable]::Synchronized(@{})
@@ -146,22 +156,25 @@ Create a runspace.
$TextBoxUpdateInterval = [System.TimeSpan]::FromSeconds(5)
- $TextBoxUpdateList = New-Object -TypeName 'System.Collections.Generic.List[System.String]'
- $TextBoxUpdateList.Add('This is too legit!')
- $TextBoxUpdateList.Add('This is too legit to quit!')
+ $UIControlUpdateDictionary = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary'
+ $UIControlUpdateDictionary.'TXTBOX_001' = "Value1"
+ $UIControlUpdateDictionary.'TXTBOX_002' = "Value2"
+ $UIControlUpdateDictionary.'TXTBOX_003' = "Value3"
- ForEach ($TextBoxUpdate In $TextBoxUpdateList)
- {
- $LogMessage = "Waiting for $($TextBoxUpdateInterval.TotalSeconds) second(s). Please Wait..."
- Write-Verbose -Message ($LogMessage) -Verbose
+ $LogMessage = "Pausing script execution for $($TextBoxUpdateInterval.TotalSeconds) second(s). Please Wait..."
+ Write-Verbose -Message ($LogMessage) -Verbose
- $Null = Start-Sleep -Milliseconds ($TextBoxUpdateInterval.TotalMilliseconds)
+ $Null = Start-Sleep -Milliseconds ($TextBoxUpdateInterval.TotalMilliseconds)
+
+ ForEach ($UIControlUpdate In $UIControlUpdateDictionary.GetEnumerator())
+ {
+ $Null = Start-Sleep -Milliseconds (500)
- $LogMessage = "Attempting to update text box. Please Wait..."
- Write-Verbose -Message ($LogMessage) -Verbose
+ $LogMessage = "Attempting to update the value for UI control `"$($UIControlUpdate.Key)`". Please Wait..."
+ Write-Verbose -Message ($LogMessage) -Verbose
- $SynchronizedHashtable.UIWindow.Dispatcher.Invoke([Action]{$SynchronizedHashtable.UIControls.$($TextBoxControlName).Text = $TextBoxUpdate}, 'Normal')
- }
+ $SynchronizedHashtable.UIWindow.Dispatcher.Invoke([Action]{$SynchronizedHashtable.UIControls.$($UIControlUpdate.Key).Text = $UIControlUpdate.Value}, 'Normal')
+ }
$InvokePSThreadParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary'
$InvokePSThreadParameters.Await = $True