O C# possui um componente interessante e que permite que o usuário selecione cores através de uma paleta, para que estas sejam utilizadas em diversos componentes dos formulários, como botões, backgrounds, labels, etc. Trata-se do ColorDialog. Arrastando-o para um formulário ele se posicionará no rodapé do projeto, conforme ilustra a imagem abaixo:

Criando métodos setters e getters

 

Para demonstrar suas funções básicas, adicionei os seguintes componentes ao formulário:

 

Criando métodos setters e getters

 

Adicionei comandos para exibir a paleta de cores quando o botão for pressionado, da seguinte forma:

ColorDialog cdlPaleta = new ColorDialog();
cdlPaleta.ShowDialog();

 

Agora, ao pressionar o botão, surge a paleta para seleção de cores:

 

Criando métodos setters e getters

 

Precisamos, então, capturar a cor selecionada pelo usuário para aplicá-la aos componentes. Isso pode ser feito da seguinte maneira:

 

private void btnExibir_Click(object sender, EventArgs e)
{
ColorDialog cdlPaleta = new ColorDialog();
cdlPaleta.ShowDialog();

if (cdlPaleta.ShowDialog() == DialogResult.OK)
{
textBox1.ForeColor = cdlPaleta.Color;
}
}

 

Notem que eu atribuí, para a propriedade ForeColor do textBox1, a propriedade Color do ColorDialog. O resultado é:

 

Criando métodos setters e getters

 

O texto está em azul!
Vejam outros exemplos:

this.BackColor = cdlPaleta.Color;

Resulta em:

 

Criando métodos setters e getters

 

Alterando a cor do Label:
label1.ForeColor = cdlPaleta.Color;

 

Criando métodos setters e getters

 

Alterando as cores do botão:

button1.BackColor = Altera a cor de fundo do botão
button1.ForeColor = Altera a cor do texto do botão

 

Criando métodos setters e getters

 

Conforme foi demonstrado, o componente ColorDialog nos permite manipular cores de diversos objetos do formulário.


Outras dicas de C#


Adicionando colunas a um dataset

Capturando a linha clicada em um Gridview

Chamando função C# a partir do Javascript

Como chamar função "alert" a partir do C#

Criando rapidamente os métodos Setters e Getters

Deixando o Visual Studio 2010 em Português

Entendendo o operador ternário

Enviando e-mails com C#

Invertendo uma string

Percorrendo as linhas de um DataSet

Percorrendo todos os textboxes do formulário - Windows Application

Permitindo que o usuário altere cores dos componentes

Posicionando o cursor no início de um Stream

Redirecionando para a parent window

Removendo acentos de string

Removendo todas as tags HTML de um texto

Simulando um clique em um elemento através de jQuery

Trabalhando com o método String.Format

Verificando se um número é par ou ímpar

Verificando se uma conexão está aberta

Verificando se uma variável string é nula ou vazia

Verificando se uma variável string é nula, vazia ou composta somente por espaços

Você Sabia?

Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.


O filme Mortal Kombat, inspirado no jogo de mesmo nome, faturou 23 milhões de dólares apenas no fim de semana de estreia nos EUA. Ainda sobre este título de sucesso, outra cifra que impressiona é o faturamento ao longo do primeiro ano: 1 bilhão de dólares no mundo todo.


Street Fighter 2, lançado para o Super Nintendo no início dos anos 90, foi o principal responsável pelo aumento nas vendas deste console. Graças ao sucesso do título nos Arcades e à perfeita adaptação ao console, muitos consumidores adquiriram o SNES para jogarem o título em casa. Saiba mais.


O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.