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.