Visual – ToolBar, ToolButton e ImageList – C#

Publicado: 17 de abril de 2014 em C#

A Barra de ferramentas é um componente utilizado pelos softwares com interface gráfica (GUI) com a finalidade de permitir uma ação rápida por parte do usuário, facilitando o acesso a funções do programa. Uma das suas características é possuir ícones para as operações mais corriqueiras e representar através de imagens operações que poderiam demandar uma grande quantidade de informações para chegar ao mesmo objetivo

ToolBar

Representa uma barra de ferramentas do Windows. Embora ToolStrip substitui e adiciona funcionalidade para o ToolBar em versões anteriores, ToolBar é mantido para compatibilidade com versões anteriores e o uso futuro, se você escolher.

ToolButton

Representa um botão da barra de ferramentas do Windows. Embora ToolStripButton substitui e estende o controle ToolBarButton das versões anteriores, ToolBarButton é mantido para compatibilidade com versões anteriores e o uso futuro, se você escolher.

ImageList

Fornece métodos para gerenciar uma coleção de objetos de imagem. Esta classe não pode ser herdada.

Exemplo:

Neste exemplo criamos uma barra de tarefas utilizando botões e seus eventos de clique. Para testar este exemplo você precisa de imagens de ícones do formato PNG, as imagens podem ser baixadas neste link: http://www.iconesbr.net/icone/Linux

C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace toolbarcs
{
    public partial class Form1 : Form
    {
        // Declara componentes
        Label rotulo;
        ToolBar ferramenta;
        ImageList imagens;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Shown(object sender, EventArgs e)
        {
            // Define propriedades do formulario
            this.Text = "DA - Barra de Ferramentas";
            this.Size = new Size(300, 150);

            // Cria componentes
            rotulo = new Label();
            ferramenta = new ToolBar();
            imagens = new ImageList();

            // Define propriedades do rotulo
            rotulo.Text = "Eventos do botão.";
            rotulo.Size = new Size(250, 20);
            rotulo.Location = new Point(0, 50);
            rotulo.TextAlign = ContentAlignment.TopCenter;

            // Adiciona imagens
            imagens.Images.Add(Image.FromFile("C:\\Desenvolvimento Aberto\\9445_128x128.png"));
            imagens.Images.Add(Image.FromFile("C:\\Desenvolvimento Aberto\\9450_128x128.png"));
            imagens.Images.Add(Image.FromFile("C:\\Desenvolvimento Aberto\\9451_128x128.png"));

            // Liga imagens a barra de ferramentas
            ferramenta.ImageList = imagens;

            // Cria botões da barra de ferramentas
            ToolBarButton bnt1 = new ToolBarButton();
            ToolBarButton bnt2 = new ToolBarButton();
            ToolBarButton bnt3 = new ToolBarButton();           

            // Define imagens dos botões
            bnt1.ImageIndex = 0;
            bnt2.ImageIndex = 1;
            bnt3.ImageIndex = 2;

            // Adiciona botões as barras de ferramentas
            ferramenta.Buttons.Add(bnt1);
            ferramenta.Buttons.Add(bnt2);
            ferramenta.Buttons.Add(bnt3);

            // Cria evento para a barra de ferramentas
            ferramenta.ButtonClick += new ToolBarButtonClickEventHandler( this.ferramenta_ButtonClick);

            // Adiciona componentes ao formulario
            this.Controls.Add(ferramenta);
            this.Controls.Add(rotulo);

        }     

         private void ferramenta_ButtonClick (Object sender, ToolBarButtonClickEventArgs e)
        {
             // Captura clique da barra de ferramentas
            switch (ferramenta.Buttons.IndexOf(e.Button))
            {

                case 0:
                    rotulo.Text = "Você clicou no botão 1";
                    break;

                case 1:
                    rotulo.Text = "Você clicou no botão 2";
                    break;

                case 2:
                    rotulo.Text = "Você clicou no botão 3";
                    break;

            }

        }

    }
}

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s