Thursday, June 10, 2021

FG Progressbar 03.01 - 170410Mo

  FG Progressbar - 3.1  
.1);">.
Version: 170410Mo
.
Other versions
Version Link
2 Fancy Progressbar - Ver 2 - C Sharp
.
Few month ago while going through posts on my this blog I reached on a post with title “Fancy Progressbar - Ver 2 - C Sharp”. After reading that post I searched on HDD of pc for the project discussed and shared in that post. In search result I found many more Progressbars made by me as UserControl in c# (c sharp) with different look and abilities.
.
Out of that search result list I found a progressbar project which was next version (version 3) of above mentioned progressbar project (version 2). I ran that version 3 few times and then made another project based on it for sharing here and named it “FG ProgressBar – 3.1”. I made some modification, improvements to UI and logic of the new project. When I found workings and looks of the new application Ok then I took it’s ScreenShots at it’s different stages. After that I added watermarks to all ScreenShots.
.
This progressbar version 3.1 application is a demo project. First it demonstrates a good and simple looking progressbar. Second it demonstrates how to find prime numbers between 2 randomly selected numbers with a gap of 100000000. Third it demonstrates how to create a form programmatically and use it to show Help information.
.
A simple looking progressbar:
This simple looking progressbar is actually made of 3 controls one TableLayoutPanel with one row and two columns and two Labels. First Label for showing completed progress and second Label for showing remaining progress. Resultant Progressbar is made to look simple and user friendly. Progressbar displays status of process end with 3 colors. Green is for SUCCESS, Orange is for CANCEL and Red is for ERROR. This progressbar’s use is demonstrated during finding of prime numbers.
.
Finding Prime numbers:
Application runs a long process for finding prime numbers between 2 randomly generated numbers with a gap of 100000000 and updates fancy progressbar based on calculated percentage of work done by that process for each number it processes. Method for finding prime number is not optimized for speed or space. It is used here for having a long process for Fancy progressbar demo.
.
Creating Form programmatically:
Help information is displayed through a form created dynamically / programmatically on the fly. First Form is created second a control is added, RichTextBox in this case, third some properties of Form and RichTextBox are set according to needs (like Help info to Text property of RichTextBox) and fourth form with Help information is displayed.
.
Application's UI and Working:
Application's user interface and how to use it is explained row wise in the following.
  1. This row displays title of application.
  2. This row displays minimum number for processing when "Start" button is clicked.
  3. This row displays maximum number for processing when "Start" button is clicked.
  4. This rows displays primes found count during processing.
  5. This rows displays primes found percent during processing.
  6. Thirs row is for telling long process to generate error or not.
  7. This row contains 2 buttons:
    1. Start: For starting lengthy process.
    2. Stop: For stoping/canceling lengthy process.
  8. This row contain 2 buttons:
    1. Show Help: This button displays help form for this application.
    2. Exit: This button is for exiting from this application.
  9. This row contains 3 controls:
    1. Lable for displaying application status.
    2. Progressbar_3.1: This is the progressbar for which thlis application is made.
    3. Label for displaying progress percentage.
Following are the screen shots of 'FG Progressbar - Ver 03.01' application with explanation.
.

.
[ Application is loaded ]
Application looks like in the following photo when loaded.
.
.
.

.
[ Application's Help form is displayed ]
Application's Help form looks like this and it is displayed when 'Show Help' button is clicked. It displays some basic information about application. Working of main Form is not blocked by display of Help form. Help window uses different color on each load which it randomly selects from "Black, Blue, Green, Purple, DarkOrange, Red and DarkCyan". I used creation date of the original project version 3 in Help info.
.
.
.

.
[ Start button clicked ]
[ Process started (Busy...) ]
Application looks like this when 'Start' button is clicked and application starts finding prime numbers between 2 randomly generated numbers. 'Start' button becomes disabled and 'Stop' button becomes enabled. In status line application shows that it is 'Busy...' and percentage of job done by progressbar and percentage number. It also shows number of Primes found and Primes found percentage in form.
.
.
.

.
[ Process Completed (Done) ]
Application looks like this when Job is completed. 'Start' button becomes enabled again and 'Stop' button becomes disabled. In status line it shows 'Done' and Progressbar and percentage label shows that 100% job is completed. Total Primes found and Primes found percentage are shown in different fields of form.
.
.
.

.
[ Process Completed (Ready) ]
Application looks like this when Job is completed. 'Start' button becomes enabled again and 'Stop' button becomes disabled. In status line it shows 'Ready' and Progressbar and percentage label shows that 100% job is completed. Total Primes found and Primes found percentage are shown in different fields of form.
.
.
.

.
[ Stop button clicked (Stoped) ]
Application looks like this when 'Stop' button is clicked. On doing so application stops doing it's job and shows 'Stoped' in status line. 'Start' button gets enabled and 'Stop' button gets disabled.
.
.
.

.
[ Stoped button clicked (Ready) ]
Application looks like this when 'Stop' button is clicked. On doing so application stops doing it's job and shows 'Ready' in status line. 'Start' button gets enabled and 'Stop' button gets disabled.
.
.
.

.
[ Generate Error Yes option checked ]
[ Application aborts on error (Error) ]
Application looks like this when 'Yes' opption is checked for Generate Error. On doing so application's long process generates devide by zero error and so stops doing it's job and shows 'Error' in status line. 'Start' and ' Stop' button gets disabled.
.
.
.

.
[ Application aborted on error (Ready) ]
Application looks like this when 'Yes' opption is checked for Generate Error. On doing so application's long process generates devide by zero error and so stops doing it's job and shows 'Ready' in status line. 'Start' button get enabled and 'Stop' button gets disabled.
.
.
.

.
[ Application's alert message on closing ]
On application closing application checks if background worker is working and if it finds background worker working then it displays message with options to close application anyway or leave background worker working.
.
.
.

.
Colors used for Border and Background of this post
Color HSL RGB Hex
 
51, 51%, 40% 071, 050, 154 #47329a
 
51, 53%, 81% 185, 174, 229 #b9aee5
.

.
Enjoy  Complete Source code of application written and compiled in visual studio 2010 Ultimate by  me. Download it. Extract it. Read 'ReadMeFirst.txt' file and do as is explained in it.
.

.
If there are any mistakes in this post then I will remove them whenever I will know about them.
.


No comments:

Post a Comment