Editor de texto

B

Muy buenas. Me acaban de enviar algo muy típico, un editor de texto que te permita cambiar de fuente, color, tamaño... chorradas de estas. El problema que tengo es al cambiar el fondo del documento. Yo no quiero ir preguntando que si he hecho click en este ToolStripMenuItem me ponga este color, si lo hago en otro que me ponga el que sea... Si tengo 100 colores tendré que poner 100 IF xDDD
Y lo que estaba haciendo es esto:

TextBox.BackColor = CType(CType(sender, ToolStripMenuItem).Tag, Color)

En la propiedad Tag de cada MenuItem pongo Color.White, Color.Black, Color.Red.
Visual no me da error de sintaxis pero al ejecutar me explota y me dice La conversión especificada no es válida.

¿Voy por el camino correcto? Como digo no quiero usar IF encadenados.

Saludos y muchas gracias.

r2d2rigo

Por que no usas un ColorDialog?

B

Es lo más lógico pero quieren que lo hagamos con menus.
Si alguien le sucede algo parecido al final he conseguido resolverlo con

TextBox.BackColor = Color.FromName(CStr(CType(sender, ToolStripMenuItem).Tag))

Y en Tag guardo: "Black", "White", "Green"...

Ahora voy a hacerlo con el ColorDialog que decias, thx 4 all ;)

Usuarios habituales