Skip to content

Latest commit

 

History

History
317 lines (248 loc) · 22.4 KB

File metadata and controls

317 lines (248 loc) · 22.4 KB

13 Conceitos de Interface com o Usuário Gráfica: Parte 2

13.1 Introdução

Este capítulo continua nosso estudo das GUIs.

13.2 Menus

Os menus são usados para fornecer grupos de comandos relacionados para aplicativos Windows.
Os menus são parte integrante de uma GUI, pois eles tornam as ações do usuário possíveis, sem "congestionamento" desnecessário da GUI.

Propriedades e eventos do MainMenu e MenuItem (DESATUALIZADO)

Eventos e propriedades Descrição
Propriedades de MainMenu
MenuItem Relaciona os MenuItems que estão contidos no MainMenu
RightToLeft Faz o texto ser exibido da direta para a esquerda
Propriedades MenuItem
Checked Indica se um item de menu está marcado
Index Especifica a posição de um item de menu específico
MenuItem Relaciona os itens de um submenu de um item de menu específico
MergeOrder Configura a posição de um item de menu quando seu menu progenitor é combinado com outro menu
MergeType Pega um valor da enumeração MenuMerge
RadioCheck Indica se um item de menu selecionado aparece como um botão de rádio ou exibe uma marca de visto
Shortcut Especifica a tecla de atalho para o item de menu
ShowShortcut Indica se uma tecla de atalho é mostrada ao lado do texto do item de menu
Text Especifica o texto que aparece no item de menu
Evento comum
Click Gerado quando o item é clicado ou a tecla de talho é usada
  • Fig. 13.04: MenuTest.cs
    Usando menus para alterar cores e estilos de fonte.

13.3 LinkLabels

O controle LinkLabel exibe links para outros objetos, como arquivos ou páginas Web.

Propriedades e eventos de LinkLabel

Propriedades e eventos Descrição
Propriedades comuns
ActiveLinkColor Especifica a cor do link ativo quando clicado
LinkArea Especifica qual parte do texto no LinkLabel é tratada como parte do link
LinkBehavior Especifica o comportamento do link
LinkColor Especifica a cor original de todos os links antes que eles tenham sido visitados
Links Relaciona os objetos LinkLabel.Link, que são links contidos no LinkLabel
LinkVisited Se for true, o link aparecerá como se fosse visitado
Text Especifica o texto que vai aparecer no controle
UseMnemonic Se for true, o caractere & na propriedades Text atuará cp,p um atalho
VisitedLinkColor Especifica a cor dos links visitados
Evento comum
LinkClicked Gerado quando o link é clicado

13.4 ListBoxes e CheckedListBoxes

O controle ListBoxe permite que o usuário veja e selecione dentre múltiplos itens em uma lista.
O controle CheckedListBoxe estende uma ListBoxe, incluindo caixas de seleção ao lado de cada item da lista.

Propriedades, métodos e eventos de ListBoxe

Propriedades, métodos e eventos Descrição
Propriedades comum
Items Relaciona a coleção de itens dentro da ListBox
MultiColumn Indica se a ListBox pode dividir uma lista em múltiplas colunas
SelectedIndex Retorna o índice do item atualmente selecionado
SelectedIndices Retorna uma coleção dos dos índices de todos os itens atualmente selecionados
SelectedItem Retorna uma referência para o item atualmente selecionado
SelectedItems Retorna uma coleção dos itens atualmente selecionados
SelectionMode Determina o número de itens que podem ser selecionados e os meios de selecionar múltiplos itens
Sorted Indica se os itens aparecem em ordem alfabética
Método comum
GetSelected Pega um índice e retorna true, caso o item correspondente seja selecionado
Evento comum
SelectedIndexChanged Gerado quando o índice selecionado muda

13.4.1 ListBoxes

  • Fig 13.11: ListBoxTest.cs
    Programa para adicionar, remover e limpar itens de caixa de lista.

13.4.2 CheckedListBoxes

Propriedades, métodos e eventos de CheckedListBox

Propriedades, métodos e eventos Descrição
Propriedade comuns
CheckedItem Relaciona a coleção de itens que estão marcados
CheckedIndices Retorna índices para os itens que estão marcados
SelectionMode Determina quantos itens podem ser marcados
Método comuns
GetItemChecked Recebe um índice e retorna True se o item correspondente estiver marcado
Evento comum
ItemCheck Gerado quando um item é marcado ou desmarcado
Propriedades de ItemCheckEventArgs
CurrentValue Indica se o item atual está marcado ou desmarcado
Index Retorna o índice do item que mudou
NewValue Especifica o novo estado do item
  • Fig. 13.13: CheckedListBoxTest.cs
    Usando as caixas de lista marcadas para adicionar itens em uma caixa de lista.

13.5 ComboBoxes

O controle ComboBox combina os recursos de TextBox com uma lista suspensa.
A lista suspensa é um componente de GUI que contém uma lista a partir da qual valores podem ser escolhidos.

Propriedades e eventos de ComboBoxes

Eventos e propriedades Descrição
Propriedades comuns
DropDownStyle Determina o tipo de caixa de combinação
Items A coleção de itens no controle ComboBox
MaxDropDownItems Especifica o número máximo de itens que podem aparecer na lista suspensa
SelectedIndex Retorna o índice do item atualmente selecionado
SelectedItem Retorna uma referência para o item atualmente selecionado
Sorted Especifica se itens em uma lista estão em ordem alfabética
Evento comum
SelectedIndexChanged Gerado quando índice selecionado muda
  • Fig. 13.16: ComboBoxTest.cs
    Usando ComboBox para selecionar a figura a ser desenhada.

13.6 TreeViews

O controle TreeViews mostra nós hierarquicamente em uma árvore.
Tradicionalmente, os nós são objetos que contêm valores e podem se referir a outros nós.
Um nó progenitor contém nós filhos, que podem ser progenitores de outros nós.

Propriedades e métodos de TreeNode

Propriedades e eventos Descrição
Propriedades comuns
CheckBox Indica se caixas de seleção aparecem ao lado dos nós
ImageList Indica a ImageList usada para exibir ícones ao lado dos nós
Nodes Relaciona a coleção de TreeNode no controle
SelectedNode O nó atualmente selecionado
Evento comum
AfterSelect Gerado após o nó selecionado mudar

Propriedades e métodos de TreeNode

Propriedades e eventos Descrição
Propriedades comuns
Checked Indica se o TreeNode está marcado
FirstNode Especifica o primeiro nó na coleção de Nodes
Propriedade comuns
FullPath Indica o caminho do nó
ImageIndex Especifica o índice da imagem a ser exibida quando o nó perder a seleção
LastNode Especifica o último nó na coleção Nodes
NextNode Próximo nó irmão
Nodes A coleção de TreeNode contidos no nó atual
PrevNode Indica o nó irmão anterior
SelectedImageIndex Especifica o índice da imagem a ser usada quando o nó for selecionado
Text Especifica o texto a ser exibido na TreeView
Métodos comuns
Collapse Recolhe um nó
Expand Expande um nó
ExpandAll Expande todos os filhos de um nó
GetNodeCount Retorna o número de nós filhos

13.7 ListViews

O controle ListView é semelhante a uma ListBox, no sentido de que ambos exibem listas a partir das quais o usuário pode selecionar um ou mais itens.

A diferença importante entre as duas classes é que uma ListView pode exibir ícones ao lado dos itens da lista de várias maneiras.

Propriedades e eventos de ListView

Eventos e propriedades Descrição
Propriedades comuns
Activation Determina como o usuário ativa um item
CheckBox Indica se os itens aparecem com caixas de seleção
LargeImageList Indica a ImageList usada ao exibir ícones grandes
Items Retorna a coleção de ListViewItem no controle
MultiSelect Determina se seleção múltipla é permitida
SelectedItems Relaciona a coleção de itens atualmente selecionada
SmallImageList Especifica a ImageList usada ao exibir ícones pequenos
View Determina a aparência de ListViewItem
Evento comum
ItemActivate Gerado quando um item na ListView é ativado
  • Fig. 13.24: ListViewTest.cs
    Exibindo diretórios e seus conteúdos na ListView.

13.8 Controle com Guias

O controle TabControl cria janelas com guias, como aquelas que vimos no IDE do Visual Studio .NET.
Isso permite ao programador projetar interfaces com o usuário que encaixam um grande número de controles ou um grande volume de dados, sem usar espaço valioso da tela.

Propriedades e eventos de TabControl

Propriedades e eventos Descrição
Propriedades comuns
ImageList Especifica as imagens a serem exibidas em uma guia
ItemSize Especifica o tamanho da guia
MultiLine Indica se múltiplas linhas de guias podem ser exibidas
SelectedIndex Indica o índice da TabPage que está selecionada
SelectedTab Indica a TabPage que está selecionada
TabCount Retorna o número de guias
TabPages Obtém a coleção de TabPage dentro de nosso TabControl
Evento comum
SelectedIndexChanged Gerado quando SelectedImageIndex muda
  • Fig. 13.29: UsingTabs.cs
    Usando TabControl para exibir várias configurações de fonte.

13.9 Janelas MDI

Tais programas suportam apenas uma janela ou documento aberto por vez.
Os programas MDI (Multiple Document Interface), permitem aos usuários editar vários documentos simultaneamente.
Os programas MDI também tendem a ser mais complexos.

A janela de aplicativo de um programa MDI é chamada de janela progenitora, e cada janela dentro do aplicativo é referida como janela filha.

Eventos e propriedades de progenitor e filho MDI (DESATUALIZADO)

Eventos e propriedades Descrição
Propriedades comuns de filho MDI
IsMdiChild Indica se o Form é um filho MDI
MdiParent Especifica o Form progenitor MDI do filho
Propriedades comuns de progenitor MDI
ActiveMdiChild Retorna o Form MDI atualmente ativo
IsMdiContainer Indica se um Form pode ser um MDI
MdiChildren Retorna os filhos MDI como um array de Form
Método comum
LayoutMdi Determina a exibição dos formulários em um progenitor MDI
Evento comum
MdiChildActive Gerado quando um filho MDI é fechado ou ativado
  • Fig. 13.36: UsingMDI.cs
    Demonstrando o uso de janelas progenitoras e filhas MDI.

13.10 Herança Visual

No C# também podemos usar herança para criar Form que exibem uma GUI, pois eles são classes derivadas da class System.Windows.Forms.Form.
A herança visual nos permite criar um novo Form, herdando de outro Form.

A herança visual permite que os desenvolvedores obtenham consistência visual entre aplicativos por meio da reutilização de código.

  • Fig. 13.37: Child.cs
    Janela filha de progenitor MDI.

Antes de derivar um formulário da classe VisualInheritance, devemos empacotar a classe VisualInheritance em uma .dll.

A GUI contém os componentes derivados da classe VisualInheritance.

13.11 Controles Definidos pelo Usuário

A plataforma .NET permite aos programadores criarem controles personalizados que herdam de uma variedade de classes.

A maneira mais simples de criar um controle personalizado é derivar uma classe de um controle de formulário Windows existente.

(Pode ser útil pesquisar mais sobre)

Criação de controles personalizados

Técnicas de controle personalizado e propriedades de PaintEventArgs Descrição
Herdar do controle de formulário Windows Adiciona funcionalidade em um controle existente
Criar um UserControl Crie um UserControl composto de vários controles previamente existentes
Herdar da classe Control Defina um novo controle
Propriedades de PaintEventArgs Use esse objeto dentro do método OnPaint ou Paint
Graphics Indica o objeto gráfico do controle
ClipRectangle Especifica o retângulo que indica os limites do controle
  • Fig. 13.42: ClockUserControl.cs
    Controle definido pelo usuário com um temporizador e um rótulo.

Os passos anteriores são úteis quando precisamos definir um controle personalizado para o projeto em que estamos trabalhando.

(Pode ser útil pesquisar mais sobre .dll, pois assim, podemos compartilhar melhor nossos códigos)