quarta-feira, 16 de maio de 2018

Como usar o ColorDialog no C#

ColorDialog
Um controle ColorDialog é usado para selecionar uma cor das cores disponíveis e também definir cores personalizadas. Uma caixa de diálogo de cores típica se parece com a Figura 1, onde você pode ver que há uma lista de cores sólidas básicas e que há uma opção para criar cores personalizadas.
ColorDialogImg1.jpg
figura 1
Criando um ColorDialog
Podemos criar um controle ColorDialog usando um designer de formulários no tempo de design ou usando a classe ColorDialog no código em tempo de execução (também conhecido como dinamicamente). Ao contrário de outros controles do Windows Forms, um ColorDialog não tem e não precisa de propriedades visuais como os outros. O único objetivo do ColorDialog é exibir cores disponíveis, criar cores personalizadas e selecionar uma cor dessas cores. Quando uma cor é selecionada, precisamos dessa cor em nosso código para que possamos aplicá-la em outros controles.
Novamente, você pode criar um ColorDialog em tempo de design, mas é mais fácil criar um ColorDialog em tempo de execução.
Tempo de design
Para criar um controle ColorDialog em tempo de design, basta arrastar e soltar um controle ColorDialog da caixa de ferramentas para um formulário no Visual Studio. Depois de arrastar e soltar um ColorDialog em um formulário, o ColorDialog se parece com a Figura 2.
ColorDialogImg2.jpg
Figura 2
Adicionando um ColorDialog a um formulário adiciona seguindo duas linhas de código.

private System.Windows.Forms. ColorDialog colorDialog1;
this .colorDialog1 = new System.Windows.Forms. ColorDialog ();
Tempo de execução
Criar um controle ColorDialog em tempo de execução é apenas um trabalho de criar uma instância da classe ColorDialog, definir suas propriedades e adicionar a classe ColorDialog aos controles de formulário.
O primeiro passo para criar um ColorDialog dinâmico é criar uma instância da classe ColorDialog. O trecho de código a seguir cria um objeto de controle ColorDialog.
ColorDialog colorDlg = new ColorDialog ();

O método ShowDialog do ColorDialog exibe o ColorDialog. O trecho de código a seguir define as propriedades cor de plano de fundo, cor de primeiro plano, Texto, Nome e Fonte de um ColorDialog.
colorDlg.ShowDialog ();

Uma vez que o método ShowDialog é chamado, você pode escolher cores na caixa de diálogo.

Definindo as propriedades do ColorDialog
Depois de colocar um controle ColorDialog em um formulário, a próxima etapa é definir propriedades.
A maneira mais fácil de definir propriedades é a partir da janela Propriedades. Você pode abrir a janela Propriedades pressionando F4 ou clique com o botão direito em um controle e selecione o item de menu Propriedades. A janela Propriedades se parece com a Figura 3.
ColorDialogImg3.jpg
Figura 3
AllowFullOpen
Se você observar a Figura 1, verá um botão chamado Definir cores personalizadas no ColorDialog. Clicar neste botão abre a área do editor de cores personalizadas, onde você pode definir as cores definindo valores de cores RGB (entre 0 e 255) e também pode selecionar uma cor na área de cores, como você pode ver na Figura 4.
ColorDialogImg4.jpg
Figura 4
A propriedade AllowFullOpen garante que a opção Definir cor personalizada esteja ativada em um ColorDialog. Se você deseja desabilitar esta opção, você pode definir a propriedade AllowFullOpencomo false e seu ColorDialog será semelhante à Figura 5.
ColorDialogImg5.jpg
Figura 5
 
O trecho de código a seguir define a propriedade AllowFullOpen como false.
colorDlg.AllowFullOpen = false ;
Cor, AnyColor e SolidColorOnly
A propriedade Color é usada para obter e definir a cor selecionada pelo usuário em um ColorDialog.
AnyColor é usado para obter e definir se um ColorDialog exibe todas as cores disponíveis no conjunto de cores básicas.
SolidColorOnly é usado para obter e definir se um ColorDialog restringe os usuários a selecionar somente cores sólidas.
O fragmento de código a seguir define essas propriedades.
colorDlg.AnyColor = true ;
colorDlg.SolidColorOnly = false ;
colorDlg.Color = Cor . Vermelho ;
Usando ColorDialog em Aplicativos
Agora vamos criar um aplicativo que use um ColorDialog para definir cores de vários controles. O aplicativo do Windows Forms é semelhante à Figura 6.
ColorDialogImg6.jpg
Figura 6
Na Figura 6, temos alguns controles do Windows Forms e clicar nos botões Foreground Color e Background Color permitirá que o usuário selecione uma cor e defina essa cor como cores de primeiro e segundo plano dos controles. Depois de selecionar as cores de primeiro plano e de fundo, o formulário se parece com a Figura 7.
ColorDialogImg7.jpg
Figura 7
O trecho de código a seguir é o código para os botões Foreground Color e Background Color, clique em manipuladores de eventos.
Vazio privado ForegroundButton_Click ( remetente do objeto , EventArgs e)
{
    ColorDialog colorDlg = new ColorDialog ();
    colorDlg.AllowFullOpen = false ;
    colorDlg.AnyColor = true ;
    colorDlg.SolidColorOnly = false ;
    colorDlg.Color = Cor . Vermelho ;
                    
    if (colorDlg.ShowDialog () == DialogResult .OK)
    {
        textBox1.ForeColor = colorDlg.Color;
        listBox1.ForeColor = colorDlg.Color;
        button3.ForeColor = colorDlg.Color;
    }
}

private void BackgroundButton_Click ( remetente do objeto , EventArgs e)
{
    ColorDialog colorDlg = new ColorDialog ();
    if (colorDlg.ShowDialog () == DialogResult .OK)
    {
        textBox1.BackColor = colorDlg.Color;
        listBox1.BackColor = colorDlg.Color;
        button3.BackColor = colorDlg.Color;
    }
}

Resumo 
Um controle ColorDialog permite que os usuários iniciem o Diálogo de Cor do Windows e permitam que eles selecionem uma cor sólida ou criem uma cor personalizada a partir das cores disponíveis. Neste artigo, discutimos como usar um diálogo de cores do Windows e definir suas propriedades em um aplicativo do Windows Forms.

Related Articles

0 comentários:

Enviar um comentário

Pesquisar neste blogue

Com tecnologia do Blogger.

Páginas