Curso de C# – Classe ColorDialog – Selecionando cores em uma paleta

Classe ColorDialog em C#

Um controle ColorDialog é utilizado para selecionar uma cor de uma paleta de cores disponível, e também para definir cores personalizadas. Essas cores podem então serem aplicadas em outros objetos do formulário, dinamicamente.

É possível criar um controle ColorDialog usando o designer de formulários durante o design da aplicação, ou então usando a classe ColorDialog no código em tempo de execução (runtime), dinamicamente.

Modo de Design

Para criar um ColorDialog em modo de design, simplesmente arraste o controle apropriado para um form. Você encontrará o ColorDialog na Toolbox -> Dialogs:

Controle ColorDialog - Programação em C#

Modo Run-time

Para criar um controle a ColorDialog em tempo de execução basta criar uma instância da classe ColorDialog, ajustar suas propriedades e adicionar a classe aos controles do Form.

Primeiro criamos a instância da classe ColorDialog. O trecho de código a seguir permite criar um objeto de controle ColorDialog de nome cdgCaixaCores:

ColorDialog cdgCaixaCores = new ColorDialog();

A seguir temos algumas das propriedades que podem ser cofiguradas no controle em runtime:

  • AllowFullOpen – Habilitar ou desabilitar o botão Definir Cores Personalizadas
  • Color – A cor selecionada no controle.
  • FullOpen – O valor true significa que a seção Definir Cores Personalizadas será exibida por padrão ao abrir o ColorDialog.
  • SolidColorOnly – Indica se a caixa restringirá a escolha de cores sólidas pelos usuários.
  • AnyColor – Se a caixa mostrará todas as cores definidas no conjunto de cores básicas.

Exemplos de configuração dessas propriedades:

cdgCaixaCores.AnyColor = true; // Caixa mostra todas as cores definidas
cdgCaixaCores.SolidColorOnly = false; // Usuário poderá escolher cores não sólidas
cdgCaixaCores.Color = Color.Red; // Cor vermelha selecionada no controle.

Usando o controle ColorDialog

Crie um novo projeto para Windows Forms no Visual Studio e insira no formulário os seguintes controles:

  • Botão com propriedade Name igual a btnCorFundo; Texto: Cor de Fundo
  • Botão com propriedade Name igual a btnCorTexto; Texto: Cor do Texto
  • ColorDialog com propriedade Name igual a cdgCaixaCores
  • TextBox com propriedade Name igual a txtCores; Fonte tamanho 16.

Veja nosso projeto na figura a seguir:

Projeto no C# - Classe ColorDialog

Vamos programar os botões:

// Evento Click do Botão Cor de Fundo - usando o controle da ToolBox:
if (cdgCaixaCores.ShowDialog() == DialogResult.OK)
{
  txtCores.BackColor = cdgCaixaCores.Color;  // Muda a cor de fundo da caixa de texto.
}
// Evento Click no Botão Cor do Texto (criando um ColorDialog dinamicamente e configurando):
ColorDialog cdgCores2 = new ColorDialog();
cdgCores2.AllowFullOpen = false;
cdgCores2.AnyColor = true;
cdgCores2.SolidColorOnly = false;
cdgCores2.Color = Color.Blue;
if (cdgCores2.ShowDialog() == DialogResult.OK)
{
  txtCores.ForeColor = cdgCores2.Color;  // Alterando a cor do texto digitado na caixa de texto
}

Para testar, execute o programa, digite uma frase na caixa de texto e clique nos botões para alterar a cor de fundo e de fonte, selecionadas no caixa de diálogo de cores:

1 – Abrindo o programa e digitando uma frase na caixa de texto:

Executando ColorDialog no C#

2 – Clique no botão Cor de Fundo para selecionar uma cor para o background da caixa de texto:

Classe ColorDialog - Alterando cores no C#

3 – Após selecionar a cor e clicar em OK, a cor será aplicada ao fundo da caixa de texto. Clique então no botão Cor do Texto para selecionar uma cor para a frase digitada:

Alterando a Cor do Texto em uma caixa de texto com controle ColorDialog no C#

4 – Clique em OK na caixa de diálogo de cor e verifique que a formatação desejada foi aplicada na caixa de texto:

Alterando cores com controle ColorDialog no Microsoft C#

É isso aí! No próximo tutorial vamos aprender a utilizar mais controles para Windows Forms. Até!

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

1 Comentário em Curso de C# – Classe ColorDialog – Selecionando cores em uma paleta

  1. roberto carvalho gennari // 11/10/2016 em 9:00 // Responder

    bom dia . parabéns e obrigado pela iniciativa da Bóson. tenho acompanhado o curso de c# , via youtube , e gostei muito da didática aplicada. gostaria de adquirir o download completo do curso de c#? é possível?

Escreva um comentário

Seu e-mail não será divulgado


*