@@ -134,6 +134,24 @@ private void setTaskRunningState()
134134 if ( this . WindowState == FormWindowState . Minimized )
135135 this . Hide ( ) ;
136136 }
137+
138+ private void ShowHourglass ( bool show )
139+ {
140+ if ( show )
141+ {
142+ this . UseWaitCursor = true ;
143+ Cursor . Current = Cursors . WaitCursor ;
144+ this . Enabled = false ;
145+ Application . DoEvents ( ) ; // force UI refresh
146+ }
147+ else
148+ {
149+ this . UseWaitCursor = false ;
150+ Cursor . Current = Cursors . Default ;
151+ this . Enabled = true ;
152+ Application . DoEvents ( ) ;
153+ }
154+ }
137155 private void MainForm_Load ( object sender , EventArgs e )
138156 {
139157 var props = TaskSchedulerManager . GetTaskProperties ( TaskSchedulerManager . TaskName ) ;
@@ -165,13 +183,17 @@ private void MainForm_Load(object sender, EventArgs e)
165183
166184 private void buttonStartTask_Click ( object sender , EventArgs e )
167185 {
186+ ShowHourglass ( true ) ;
168187 TaskSchedulerManager . StartTask ( TaskSchedulerManager . TaskName ) ;
188+ ShowHourglass ( false ) ;
169189 setTaskRunningState ( ) ;
170190 }
171191
172192 private void buttonStopTask_Click ( object sender , EventArgs e )
173193 {
194+ ShowHourglass ( true ) ;
174195 TaskSchedulerManager . StopTask ( TaskSchedulerManager . TaskName ) ;
196+ ShowHourglass ( false ) ;
175197 setTaskRunningState ( ) ;
176198 }
177199
@@ -194,7 +216,7 @@ private async void buttonCreateTask_Click(object sender, EventArgs e)
194216
195217 try
196218 {
197- this . UseWaitCursor = true ;
219+ ShowHourglass ( true ) ;
198220 buttonCreateTask . Enabled = false ;
199221
200222 TaskSchedulerManager . CreateOrUpdateTask ( TaskSchedulerManager . TaskName , exePath , shareFolder ) ;
@@ -204,11 +226,6 @@ private async void buttonCreateTask_Click(object sender, EventArgs e)
204226 if ( checkBoxAddFirewallException . Checked )
205227 {
206228 FirewallManager . AddFirewallException ( exePath , TaskSchedulerManager . TaskName ) ;
207-
208- if ( FirewallManager . FirewallExceptionExists ( TaskSchedulerManager . TaskName ) )
209- {
210- MessageBox . Show ( "Firewall exception created successfully." , "Success" , MessageBoxButtons . OK , MessageBoxIcon . Information ) ;
211- }
212229 }
213230 }
214231
@@ -229,7 +246,7 @@ private async void buttonCreateTask_Click(object sender, EventArgs e)
229246 finally
230247 {
231248 buttonCreateTask . Enabled = true ;
232- this . UseWaitCursor = false ;
249+ ShowHourglass ( false ) ;
233250 setTaskRunningState ( ) ;
234251 }
235252 }
@@ -238,7 +255,7 @@ private async void buttonDeleteTask_Click(object sender, EventArgs e)
238255 {
239256 try
240257 {
241- this . UseWaitCursor = true ;
258+ ShowHourglass ( true ) ;
242259 buttonDeleteTask . Enabled = false ;
243260
244261 TaskSchedulerManager . DeleteTask ( TaskSchedulerManager . TaskName ) ;
@@ -262,7 +279,7 @@ private async void buttonDeleteTask_Click(object sender, EventArgs e)
262279 finally
263280 {
264281 buttonDeleteTask . Enabled = true ;
265- this . UseWaitCursor = false ;
282+ ShowHourglass ( false ) ;
266283 setTaskRunningState ( ) ;
267284 }
268285 }
@@ -295,7 +312,7 @@ private async void buttonDownload_Click(object sender, EventArgs e)
295312 {
296313 // Continue with download and extraction
297314 buttonDownload . Enabled = false ;
298- this . UseWaitCursor = true ;
315+ ShowHourglass ( true ) ;
299316
300317 try
301318 {
@@ -326,7 +343,7 @@ private async void buttonDownload_Click(object sender, EventArgs e)
326343 finally
327344 {
328345 buttonDownload . Enabled = true ;
329- this . UseWaitCursor = false ;
346+ ShowHourglass ( false ) ;
330347 }
331348 }
332349 else if ( result == DialogResult . No )
0 commit comments