C#
- Converter Hexa para Cor e vice-versa
![]() |
Hoje vou apresentar um singelo programa C# que converte valores Hexadecimais para Cor e vice-versa. |
![]() |
Hoje temos um programa feito em C# bem simples que exibe em um ListBox os nomes das cores do sistema exibindo o seu valor hexadecimal e sua respectiva cor.
Além disso podemos informar o valor hexadecimal e obter a cor.
Abaixo o formulário do projeto:
A seguir o código completo:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string[] cores = Enum.GetNames(typeof(KnownColor));
foreach (string cor in cores)
{
lbCores.Items.Add(cor);
}
lblNomeCor.Text = "";
this.Opacity = 0.95;
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string str = lbCores.SelectedItem.ToString();
Color cor = Color.FromName(str);
txtCorHexa.Text = Cor_Para_Hexa(cor);
txtValorHexa.Text = Cor_Para_Hexa(cor); ;
lblCor1.BackColor = cor;
}
private void btnConverter_Click(object sender, EventArgs e)
{
try
{
string str = txtValorHexa.Text;
Color cor = Hexa_Para_Cor(str);
lblNomeCor.Text = "Nome : " + cor.Name;
btnCor.BackColor = cor;
}
catch
{
lblNomeCor.Text = "Erro !!!";
}
}
string Cor_Para_Hexa(Color c)
{
return ColorTranslator.ToOle(c).ToString("X");
}
Color Hexa_Para_Cor(string hx)
{
int x = int.Parse(hx, System.Globalization.NumberStyles.HexNumber);
Color cor = ColorTranslator.FromOle(x);
return cor;
}
private void btnSair_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void btnLimpar_Click(object sender, EventArgs e)
{
txtCorHexa.Clear();
txtValorHexa.Clear();
}
}
}
|
Parece ser um código simples mas existem alguns detalhes que valem uma explicação como:
- A
classe ColorTranslator que converte as cores em e a partir das estruturas
color GDI+;
- O método FromOle(x) que converte um valor de cor OLE em uma estrutura
color GDI+;
- O membro HexNumber que
Pegue o
projeto completo aqui:
Converte_Hexa_Cor.zip
(Jesus a seus discípulos) "Na verdade, na
verdade vos digo que vós chorareis e vos lamentareis, e o mundo se alegrará, e
vós estareis tristes, mas a vossa tristeza se converterá em alegria."
João 16:20
Veja os
Destaques e novidades do SUPER DVD Visual Basic
: clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ?
Compartilhe no Facebook
Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
C# - 10 dicas para otimizar o seu código - Aumente o desempenho e eficácia de sua aplicação C#
VB.NET - Arrays - Macoratti
Visual Basic .NET - Implementando um array de controles - Macoratti
Trabalhando com Arrays - Macoratti
C# - Testando cada elemento em um Array ou List<T> - Macoratti
C# - Jogo Tetris (Console) - Macoratti
C# - Jogo de Xadrez - Macoratti
C# - Jogo para adivinhar palavras (Jogo da Forca) - Macoratti
C# - Jogo da Velha (Tic-Tac-Toe) - Macoratti
Seção de Jogos do site Macoratti .net