Get System.Drawing.Color from RGB HTML color

Back to some real content here!

Maybe you already know about this, but as I still often see static method like GetColorFromHTML() in companies static class, it could be a good reminder.

The idea is when you want to set a color in code, like GridView1.ForeColor = “#FFCC66”, but this do not work because the property is of type System.Drawing.Color.

You don’t need to create a convert method as there is already such a method in the Framework, but the location is not obvious.
First I would have checked for System.Drawing.Color.FromHTML() as there is already a System.Drawing.Color.FromArgb(), but no, it is not there. Instead you have to look in System.Drawing.ColorTranslator.

Convert a RGB color to System.Drawing.Color:

System.Drawing.Color col = System.Drawing.ColorTranslator.FromHtml(“#FFCC66”);

Dim col As System.Drawing.Color = System.Drawing.ColorTranslator.FromHtml(“#FFCC66”)


Convert a System.Drawing.Color to RGB string:

String sHtmlColor = System.Drawing.ColorTranslator.ToHtml(col);

Dim sHtmlColor As String = System.Drawing.ColorTranslator.ToHtml(col)