Smart Device – Criando Buttons Coloridos

Implementando Botões coloridos usando C#

Demonstrarei nesse artigo como usar e criar controles Buttons coloridos, por padrão o .NET Compact Framework não possibilita a alteração da cor dos buttons, então Jon Nethercott criou um Controle Button customizado desenvolvido em C#, usaremos esse controle em nossa aplicação para dispositivos móvel.

Criando o Controle

Já existem muitos artigos na internet que demonstram como criar Controles Customizados para .NET Compact Framework, então não vou demonstrar como criar passo a passo um controle customizado. Estarei disponibilizando os links para esses artigos que demonstram como criar Controles Customizados.

Como esse controle já esta desenvolvido iremos simplesmente instalá-lo, baixe o arquivo que segue com esse artigo, compile e instale-o normalmente como qualquer outro controle.

Você também poderá adicionar o código fonte do controle ColourButton na sua Solução, assim você poderá criar instancias do objeto ColourButton.

O ColourButton tem quatro propriedades extras, veja a Tabela 1.


Propriedade

Descrição

NormalTxtColour

Cor normal do Texto do Button.

NormalBtnColour

Cor normal do Button.

PushedTxtColour

Cor do Texto quando é pressionado o Button.

PushedBtnColour

Cor do Button quando é pressionado.





Tabela 1. Propriedades extras do ButtonColour

O Código

Crie uma nova aplicação para dispositivo móvel usando a Linguagem C# com a plataforma Pocket PC, salve com o nome de WebMobile, preferi adicionar o código fonte do controle ColourButton a minha solução, para isso vá no Solution Explorer e clique com o botão direito encima da solução e em Add->Existing Project localize o projeto ColourButton e pronto.

Como foi adicionado um projeto a solução vamos fazer referencia a esse projeto, com o botão direito do mouse no projeto WebMobile, Add Reference na aba Projects selecione o projeto ColourControls, pronto agora podemos importar o namespace ColourControls.

Veja o código do projeto na Listagem 1.

Listagem 1. Código Fonte do Projeto.

using System;

using System.Drawing;

using System.Collections;

using System.Windows.Forms;

using System.Data;

using ColourControls;

namespace WebMobile

{

     ///

     /// Summary description for Form1.

     ///

     public class Form1 : System.Windows.Forms.Form

     {

     

           public Form1()

           {

                 //

                 // Required for Windows Form Designer support

                 //

                 InitializeComponent();

                 //

                 // TODO: Add any constructor code after InitializeComponent call

                 //

           }

           ///

           /// Clean up any resources being used.

           ///

           protected override void Dispose( bool disposing )

           {

                 base.Dispose( disposing );

           }

           #region Windows Form Designer generated code

           ///

           /// Required method for Designer support - do not modify

           /// the contents of this method with the code editor.

           ///

           private void InitializeComponent()

           {

                 ColourButton btn = new ColourButton();

                 btn.Size = new Size(85, 20);

                 btn.Location = new Point(72, 8);

                 btn.Text = "Padrão";

                 this.Controls.Add(btn);

                 ColourButton btn1 = new ColourButton();

                 btn1.Size = new Size(85, 20);

                 btn1.Location = new Point(72, 40);

                 btn1.Text = "ClubeDelphi";

                 btn1.NormalTxtColour = Color.Black;

                 btn1.NormalBtnColour = Color.Green;

                 btn1.PushedTxtColour = Color.Black;

                 btn1.PushedBtnColour = Color.Yellow;

                 this.Controls.Add(btn1);

                 

                 ColourButton btn2 = new ColourButton();

                 btn2.Size = new Size(85, 20);

                 btn2.Location = new Point(72, 72);

                 btn2.Text = "SQL Magazine";

                 btn2.NormalTxtColour = Color.Black;

                 btn2.NormalBtnColour = Color.Red;

                 btn2.PushedTxtColour = Color.Black;

                 btn2.PushedBtnColour = Color.Red;

                 this.Controls.Add(btn2);

                 //

                 // Form1

                 //

                            }

           #endregion

           ///

           /// The main entry point for the application.

           ///

           static void Main()

           {

                 Application.Run(new Form1());

           }

     }

}


Links

Creating Custom Controls for the .NET Compact Framework

(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnroad/html/road11272002.asp)

How to Create a Microsoft .NET Compact Framework-based Image Button

(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/imagebutton.asp)

Conclusões

Criamos três botões um padrão do ButtonColour, outro que quando é pressionado muda de cor, e outro colorido mas não muda de cor quando é pressionado.