Suppose in your application, on a click event you are doing
some calculations which is taking a lot of time. During that time, if a user perform unnecessarily clicks on the screen, it might give a “Page is not responding” or "Application has stopped responding" error.
This can be resolved by following the below steps:
1. Put your long running code in a thread.
2. Set “Cursor.Current = Cursors.WaitCursor;”
3. UseWaitCursor = true;
4. Inside the thread use the try-finally block.
5. In the finally block, set “this.Cursor = Cursors.Default;”
6. UseWaitCursor = false;
7. Start that thread.
2. Set “Cursor.Current = Cursors.WaitCursor;”
3. UseWaitCursor = true;
4. Inside the thread use the try-finally block.
5. In the finally block, set “this.Cursor = Cursors.Default;”
6. UseWaitCursor = false;
7. Start that thread.
Example:
Cursor.Current = Cursors.WaitCursor;
UseWaitCursor = true;
new Thread(() =>
{
try
{
//
Your long running code
}
catch
(Exception ex)
{
// Handle any exception here
}
finally
{
Cursor.Current = Cursors.Default;
UseWaitCursor = false;
}
}) { Name = "longTask"
}.Start();
Now even if you click
100 times, the page will not show “Not Responding” error.
No comments:
Post a Comment