visual resolucion propiedades pantalla formularios escala controles comunes automático ajuste ajustar c# database winforms colors color-picker

c# - resolucion - propiedades de button en visual basic



almacenar y recuperar colores con base de datos, aplicación de formularios de Windows C# (3)

Encontré una forma de obtener el código hexadecimal de un color seleccionado con ColorDialog

ColorDialog col = new ColorDialog(); col.ShowDialog(); string color = col.Color.ToArgb().ToString("x"); color = color.Substring(2, 6); color = "#" + color; MessageBox.Show(color); button1.BackColor = System.Drawing.ColorTranslator.FromHtml(color);

Estoy haciendo una aplicación de Windows con C #. Estoy usando el cuadro de diálogo de color para que el usuario seleccione un color. Me gustaría almacenar ese color en una base de datos, y poder recuperarlo más adelante, y ser capaz de usar ese color en la interfaz de usuario.

¿Qué enfoque me sugerirías?


Utilizo las funciones System.Drawing.Color.FromArgb () y System.Drawing.Color.ToArgb () para convertir el color de y en entero, y lo guardo como int en la base de datos


La mejor manera será almacenar el color hexadecimal en un campo de base de datos nvarchar(7) ... la entrada sería #ffffff como ejemplo. varchar(6) funcionaría igual de bien y ocuparía menos espacio en su base de datos. Solo asegúrate de agregar el # en tu código.

Como necesita convertirlo a / desde un color de control, puede usar System.Drawing.ColorTranslator.FromHtml(someHexColor)

// Hex to Control Color var myColor = "#[color from database]"; var myControlColor = System.Drawing.ColorTranslator.FromHtml(myColor); // Control Color to Hex var colorBlue = System.Drawing.Color.Blue; var hexBlue = System.Drawing.ColorTranslator.ToHtml(colorBlue);