Ok, so this won't answer your question, but why in the world did you write this:
System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(128)))))
First of all, why are you using all of those parentheses? You could just have easily written:
System.Drawing.Color.FromArgb((int)(byte)255,(int)(byte)128,(int)(byte)255);
But to take it one step further, why in the world are you converting an integer value to a byte and then back into an int? The normal way to write than line would have just been:
System.Drawing.Color.FromArgb(255,128,128);
As to your question...what Espen said...