sexta-feira, 10 de junho de 2011

Usar a paleta de cores no .NET

E aí, programadores!

Este texto é mais uma dica rápida, simples e objetiva, que demonstra como utilizar uma paleta de cores do Windows no contexto de uma aplicação .NET. No exemplo, a cor de fundo do formulário (propriedade BackColor) será alterada pela cor selecionada na paleta. Para exemplificar, iremos usar o Visual Studio 2010 Ultimate e linguagem VB.NET.

Abra o Visual Studio e crie um novo projeto (File > New > Project) do tipo Windows Forms Application em linguagem VB.NET.


Acesse a Toolbox (caso não esteja aparecendo na IDE, clique no menu View > Toolbox), na guia Common Controls e arraste o controle Button para o formulário Form1.


Para escrevermos a rotina que irá abrir a paleta de cores, dê um duplo-clique sobre o botão Button1 e escreva o trecho de código abaixo.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    ' Instanciar um objeto da classe ColorDialog
    Dim paleta As New ColorDialog()
    ' Abrir a paleta de cores e verificar se o usuário clicou no botão OK
    If paleta.ShowDialog() = Windows.Forms.DialogResult.OK Then
        ' Alterar a cor de fundo do formulário atual
        Me.BackColor = paleta.Color
    End If
End Sub

O código é simples e está comentado para facilitar no entendimento. Para testar, salve e execute a aplicação pressionando a tecla de atalho F5. O resto é exibido na imagem abaixo.


Por hora é só. 
Até a próxima!

terça-feira, 7 de junho de 2011

Usando o assistente de criação de CSS

Olá, pessoal!

Dentre as inúmeras funcionalidades e recursos que compõem o Visual Studio, tem uma ferramenta que é muito utilizada pelos designers (e programadores que também atuam com layout de páginas) que é o assistente de criação de style CSS (Cascading Style Sheet)

Para obter mais informações sobre CSS, acesse o endereço http://maujor.com/

Para demonstrar, vamos utilizar o Visual Studio 2010 Ultimate e um projeto do tipo Web Site. Abra o Visual Studio e crie um novo projeto (File > New > Web Site) do tipo ASP.NET Empty Web Site.


Adicione uma página Default.aspx, clicando com o botão direito do mouse sobre o projeto, e em seguida Add New Item. Selecione o item Web Form, mantenha o nome original do arquivo e clique em Add.


Com a página criada, digite um texto qualquer para utilizarmos como exemplo.


Para acessar o assistente, clique no menu Format > New style. A janela do assistente é iniciada conforme a imagem abaixo.


Configure um novo style conforme a figura a seguir, em seguida clique no botão Apply (clique em Yes na caixa de diálogo) e depois em OK.


Para aplicarmos o novo estilo no texto “Programação On-Line”, clique no menu View > Apply Styles. A janela é automaticamente aberta e ocupa uma parte da IDE do Visual Studio.


Selecione o texto em que se deseja aplicar o style, e clique na classe .TituloPagina do arquivo CSS conforme a figura e veja o resultado, após o clique.


O exemplo é bem simples, mas serve para ilustrar o uso do utilitário de criação e formatação de estilos. Com ele, além de alterar uma fonte de um texto, também é possível ajustar o BackGround da página, alinhar a posição dos elementos HTML e ASP.NET e formatar o layout de uma Table.

Fico por aqui e espero ter ajudado.

segunda-feira, 6 de junho de 2011

Carregar um TreeView via código

E aí, pessoal!

O TreeView é um controle de extrema utilidade, e que serve para exibir informações no formato de árvore hierárquica. Neste artigo, veremos como criar os nós (pai e filho) de forma programática usando a linguagem C#.

Abra o Visual Studio (utilizou-se a versão 2010 Ultimate na edição do artigo) e crie um novo projeto (File > New > Project) do tipo Windows Forms Application em linguagem C#.


Com o projeto criado e um formulário adicionado automaticamente (Form1), acesse a Toolbox e arraste o controle TreeView para o centro da janela.


Ajuste o controle para que se adeque às bordas do formulário. Em seguida, dê um duplo-clique sobre o Form1 para que o Visual Studio escreva a assinatura do evento Load do form. Copie o código abaixo e cole no evento deste evento.

private void Form1_Load(object sender, EventArgs e)
{
    treeView1.Nodes.Add("Informática");
    treeView1.Nodes[0].Nodes.Add("Netbook");
    treeView1.Nodes[0].Nodes.Add("Computador");
    treeView1.Nodes[0].Nodes[0].Nodes.Add("Netbook LG X140l-1140 Rosa Intel® Atom™");
    treeView1.Nodes[0].Nodes[1].Nodes.Add("Computador Compaq All-in-one Cq1-1210br");
    treeView1.ExpandAll();
}

O código acima cria um nó principal chamado “Informática”, e em seguida cria dois nós-filhos do nó principal ("Netbook" e "Computador"). Por fim, acrescentamos mais dois nós-filhos dos nós anteriores, para caracterizar uma árvore genealógica. Compile a aplicação e veja o resultado que deve ser semelhante ao da imagem abaixo.


Espero que seja útil e até a próxima!

sexta-feira, 3 de junho de 2011

Select em objeto DataTable

Saudações, jovens!

Neste texto, veremos como efetuar uma seleção de registros em um objeto DataTable previamente alimentado de forma programática. Para demonstrar, iremos criar o DataTable dinamicamente e sem a presença de uma base de dados. O projeto será criado no Visual Studio 2010 em linguagem VB.NET.
Abra o Visual Studio e crie um novo projeto do tipo Web Site (File > New > Web Site) em linguagem VB.NET.


Vamos aproveitar a página Default.aspx para demonstrar o exemplo. Acesse a Toolbox, na guia Data e arraste o controle GridView para dentro da página. Segue abaixo o fonte HTML da página com a grade devidamente formatada.

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
            Width="432px">
            <Columns>
                <asp:BoundField DataField="Nome" HeaderText="Nome" />
                <asp:BoundField DataField="Email" HeaderText="E-mail" />
            </Columns>
        </asp:GridView>
    </div>
    </form>
</body>
</html>

Percebam que acrescentamos duas colunas no GridView (Nome e E-mail), justamente para servir de base para a seleção que iremos fazer no DataTable. Abaixo do GridView, acrescente um controle TextBox e um Button que será usado na pesquisa. O código abaixo já contempla a grade e os dois controles.

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
            Width="432px">
            <Columns>
                <asp:BoundField DataField="Nome" HeaderText="Nome" />
                <asp:BoundField DataField="Email" HeaderText="E-mail" />
            </Columns>
        </asp:GridView>
        <br />
        <asp:TextBox ID="TextBox1" runat="server">
        </asp:TextBox>&nbsp;<asp:Button ID="Button1" runat="server" Text="Pesquisar" />
    </div>
    </form>
</body>
</html>

Neste momento, o layout da página Default.aspx deve ser semelhante a imagem abaixo.


Clique no menu View > Code para termos acesso ao editor de código fonte da página (code-behind). Transcreva o trecho abaixo para a página.

Imports System.Data

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            PreencherDataTable()
            GridView1.DataSource = Session("contato")
            GridView1.DataBind()
        End If
    End Sub

    Private Sub PreencherDataTable()
        Dim _dt As New DataTable
        _dt.Columns.Add("Nome", GetType(String))
        _dt.Columns.Add("Email", GetType(String))
        _dt.Rows.Add("Tecla", "contato.programacao@gmail.com")
        _dt.Rows.Add("Lula", "lula.pt@gmail.com")
        _dt.Rows.Add("Kassab", "kassab.dem@gmail.com")
        Session("contato") = _dt
    End Sub
End Class

O código descreve a criação do objeto DataTable, a carga de alguns registros hipotéticos e a atribuição de toda a estrutura do objeto a variável de sessão Session(“contato”). Por fim, criamos o vinculo do GridView com a Session. Resta escrever a parte que dá nome ao artigo, que é o filtro com o método Select do DataTable. Ainda na aba Design, dê um duplo-clique sobre o botão pesquisar e escreva o código abaixo no escopo do evento Click.

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim _dt As New DataTable
        If TextBox1.Text.Trim() = "" Then
            GridView1.DataSource = Session("contato")
            GridView1.DataBind()
        Else
            Dim _drFiltro() As DataRow = _
                DirectCast(Session("contato"), DataTable).Select("Nome LIKE '%" + TextBox1.Text + "%'")
            _dt.Columns.Add("Nome", GetType(String))
            _dt.Columns.Add("Email", GetType(String))

            For Each _dr As DataRow In _drFiltro
                _dt.Rows.Add(_dr(0).ToString(), _dr(1).ToString())
            Next
            GridView1.DataSource = _dt
            GridView1.DataBind()
        End If
    End Sub

O exemplo é simples, e serve para entender o funcionamento do método Select do objeto. A nível de estudo, fizemos um filtro através do campo Nome do DataTable e recarregamos o GridView com o resultado da pesquisa. Para testar, execute a aplicação e veja o resultado.


Fico por aqui e até a próxima!