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?

Nos primeiros oito dias após o lançamento do console Nintendo Wii foram vendidas 600 mil unidades. Isso equivale a quase um por segundo e estes incríveis números são referentes às vendas apenas nos EUA!


O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.


A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.


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.


Considerando todas as adaptações de jogos de videogame para o cinema, a mais bem sucedida foi Lara Croft: Tomb Raider, lançado em 2001 e que faturou 274 milhões de dólares. Ele foi dirigido por Simon West e estrelado pela bela Angelina Jolie.