the color of progressbar doesn't change because it follows operating system's theme color.
to modify color u need to remove this line from Program.cs file
Application.EnableVisualStyles();
Note:-this wud remove operating system theme styles and colors of other elements in your project
update the progressbar from another thread.
to keep it red below 50% u need to set backcolor to red for every change in value.
hope this helped u :)