SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
- 1 -
Interfaces Windows com C#
C# é uma linguagem orientada ao objecto moderna que possibilita os programadores a construir
rápida e facilmente soluções para a plataforma Microsoft .NET. E este trabalho tem como objectivo
apresentar alguns dos comandos e utilidades de Interfaces Windows com o C#.
Redimensionamento de Forms
Dock
Dock é a propriedade que fixa o seu componente a alguma borda do formulário.
this.button1.Dock = System.Windows.Forms.DockStyle.Left;
Para ver em acção esta propriedade, coloca-se aleatoriamente sete botões numa form, como se vê
na imagem:
Digita-se em seguida o código abaixo no evento Load do formulário.
private void Form1_Load(object sender, System.EventArgs e)
{
this.button1.Dock = System.Windows.Forms.DockStyle.Top;
this.button2.Dock = System.Windows.Forms.DockStyle.Top;
this.button3.Dock = System.Windows.Forms.DockStyle.Bottom;
this.button4.Dock = System.Windows.Forms.DockStyle.Bottom;
- 2 -
this.button5.Dock = System.Windows.Forms.DockStyle.Left;
this.button6.Dock = System.Windows.Forms.DockStyle.Right;
this.button7.Dock = System.Windows.Forms.DockStyle.Fill;
}
O resultado será igual à imagem:
Muito interessante, porém pouco funcional. Propondo um exemplo funcional, vamos simular um
Windows explorer e utilizar a propriedade Dock para funcionalidades mais úteis.
Numa form introduzimos uma treeview e alteramos a propriedade Dock para left. Colocamos
agora um componente splitter, que serve para redimensionar a treeview quando o programa estiver a
“correr”, que possui já por default a propriedade Dock como Left.
Coloca-se agora o componente listview do lado direito do spliter e configura-se a propriedade
Dock para Fill. Visualmente já possuímos um simulador de Windows Explorer, que pode ser
redimensionado livremente sem comprometer sua visualização.
- 3 -
Anchor
Passando para a propriedade Anchor, a sua finalidade é definir uma constante de limite entre a
borda e o próprio elemento, ou seja, ancorar o seu componente a uma ou mais das suas bordas.
Assim como a propriedade Dock, Anchor pode ser alterada na janela Properties ou no decorrer
do programa através de código. Vejamos o exemplo seguinte:
this.button1.Anchor = (System.Windows.Forms.AnchorStyles.Bottom |
System.Windows.Forms.AnchorStyles.Right);
Esta propriedade é muito útil quando desejamos ter o controle de como os componentes irão ser
“esticados”.
Vamos considerar o formulário a seguir:
Sem alterar nenhuma propriedade default, ao executarmos o programa se maximizarmos o form,
os componentes não se movem e o formulário fica com uma imensa área cinza inútil. Pode-se desejar
que o componente da descrição seja aumentado para facilitar a sua visualização.
- 4 -
Para resolver este problema procedemos aos seguintes passos:
1. A label consulta não precisa de ser alterado. Por default esta ancorado como Left e Top.
2. Na combobox altera-se a propriedade Anchor para Left, Top e Right. Assim será esticado
horizontalmente.
3. Na label descrição, altera-se a propriedade Anchor somente para Left. Assim continuará
centralizado em relação ao textbox.
4. Na textbox, marca-se todas as opções, ou seja, Left, Top, Right e Bottom.
5. Finalmente altera-se os botões para Right e Bottom.
Para ficar ainda melhor, alterar-se a propriedade MinimumSize do formulário para o tamanho
actual do mesmo. Desta forma, se o utilizador tentar diminuir demais o form, não irá esconder os seus
componentes.
Panels
Considerando o seguinte formulário, para o redimensionar teríamos de utilizar as propriedades
Dock e Anchor. Contudo, para o conseguir esse efeito dependemos mais do que isso, pois não é
permitido no mesmo componente alterar as propriedades Dock e Anchor ao mesmo tempo.
Como solução a este problema utilizamos os Panels, que servem como container de componetes.
Divide-se o form em duas partes conforme a imagem sugere. As cores diferentes dos panels são
para facilitar a sua visualização e compreensão. No panel vermelho, alterar-se a propriedade Dock
para Top e no verde para Fill.
- 5 -
No panel vermelho, coloca-se mais dois novos panels, dividindo a área entre eles. Para isso
alterar-se a propriedade Dock do panel amarelo para Left e do Azul para Fill.
Ao executar o programa e maximizar o formulário os panels com Dock igual a Fill
redimensionam conforme o form, o panel amarelo permanece inalterado.
Agora basta preencher os panels com os seus componentes respectivos do formulário inicial,
com as seguintes regras:
• O panel amarelo e azul não são redimensionados verticalmente;
• O panel amarelo não é redimensionado horizontalmente.
- 6 -
Controlos de Interface
Os componentes de diálogo dos formulários são as mesmas caixas de diálogo encontradas no
sistema do Windows, temos o OpenFileDialog, para abrir um ficheiro; o SaveFileDialog, para gravar
um ficheiro; o PrintDialog, caixa de diálogo para impressão de um ficheiro, FontDialog, caixa de
diálogo para mudar a font de um documento, ColorDialog, muda a cor de um documento, etc.
Para usar uma caixa de diálogo, na toobox arrasta-se para a form o componente pertendido, que
não aparecerá quando a form estiver a correr. Coloca-se um botão ou cria-se um menu, que será usado
para chamar a caixa de diálogo.
Open File Dialog
Este componente apresenta ao usuário uma caixa de diálogo que permite abrir ficheiros que
retorna o caminho e o nome do ficheiro seleccionado na caixa de diálogo.
Ao componente Openfiledialog deu-se o nome cdAbrir. No Menu Guardar para abrir um ficheiro
na caixa de diálogo para uma rich text box, com o nome rtbficheiro, implementa-se o código:
- 7 -
private void Abrir_Click(object sender, System.EventArgs e)
{
//filtrar os ficheiros TXT ou Rtf
cdAbrir.Filter = "Ficheiros TXT|*.TXT|Ficheiros RTF|*.RTF|Todos os
Ficheiros|*.*";
//mostrar o titulo
cdAbrir.Title = "Selecione um ficheiro para abrir";
if (cdAbrir.ShowDialog() == DialogResult.OK)
{
//obter o nome do ficheiro que deseja abrir...
string ficheiro = cdAbrir.FileName;
//carregar o ficheiro na Rich Text Box
if (System.IO.Path.GetExtension(ficheiro).ToUpper() == ".TXT")
this.rtbficheiro.LoadFile(ficheiro,RichTextBoxStreamType.PlainText);
else
this.rtbficheiro.LoadFile(ficheiro);
}
}
Save File Dialog
Este componente mostra ao usuário uma caixa de diálogo que o possibilita escolher o caminho e
o nome do ficheiro a guardar.
- 8 -
Depois de se adicionar à form o componente Savefiledialog e se dar o nome cdGuardar, passa-se
para o código do botão Guardar no menu ficheiro.
private void Guardar_Click(object sender, System.EventArgs e)
{
//mostrar o titulo
cdGuardar.Title = "Guardar Ficheiros como:";
//filtrar o ficheiros txt ou rtf
cdGuardar.Filter = "Ficheiros TXT|*.TXT|Ficheiros RTF|*.RTF";
if (cdGuardar.ShowDialog() == DialogResult.OK)
{
//se escolher a primeira opção da combobox filter
if (cdGuardar.FilterIndex == 1)
//guardar o ficheiro com a extensão TXT
this.rtbficheiro.SaveFile(cdGuardar.FileName,RichTextBoxStreamType.Pla
inText);
//caso a seja escolhida a segunda opção
else if (cdGuardar.FilterIndex == 2)
//guardar o ficheiro com a extensão RTF
this.rtbficheiro.SaveFile(cdGuardar.FileName,RichTextBoxStreamType.RichText)
;
MessageBox.Show("Ficheiro Guardado com sucesso");
}
}
Font Dialog
Com este componente poderemos mudar o tipo e o tamanho de letra da nossa rich text box.
- 9 -
No menu Font implementamos o seguinte código:
private void Font_Click(object sender, System.EventArgs e)
{
this.cdFont.ShowDialog();
this.rtbficheiro.Font = this.cdFont.Font;
}
Color Dialog
Com este componente mudamos a cor do texto da nossa rich text box.
private void menuItem16_Click(object sender, System.EventArgs e)
{
this.colorDialog1.ShowDialog();
this.rtbficheiro.SelectionColor = this.colorDialog1.Color;
}
- 10 -
Toolbar
Uma Toolbar serve para agrupar um conjunto de botões. Vamos ver como se adiciona uma
Toolbar a uma form, com imagens nos seus botões.
Arrasta-se o componente Toolbar para a form. De seguida, da Toolbox adiciona-se uma
ImageList à form, e nas suas propriedades temos a possibilidade de adicionar imagens à ImageList
Clicamos agora em (Collection) para aparecer o editor da Image Collection. Usamos o Add para
adicionar uma imagem à ImageList. Adicionei 3 imagens para as acções Guardar, Abrir, e Retroceder.
- 11 -
Na propriedade ImageList da toolbar adicionamos a nossa ImageList, que neste caso se chama
Imagens.
Agora vamos à propriedade Buttons, que nos permite adicionar e remover botões à toolbar,
abrimos o seu editor e adicionamos 3 botões, Abrir, Guardar e Retroceder. Para cada botão definimos
uma imagem na ImageList, que agora estão disponíveis, pois foram introduzidas anteriormente na
ImageList, e mudamos o Text para o nome de cada botão.
- 12 -
A toolbar está completa e ficou com a seguinte apresentação:
Por último o código para cada um dos botões processa-se da seguinte forma:
- 13 -
private void toolBar1_ButtonClick(object sender,
System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
//executa a opção escolhida
switch (toolBar1.Buttons.IndexOf(e.Button))
{
case 0:
MessageBox.Show("Clicou no botão abrir");
break;
case 1:
MessageBox.Show("Clicou no botão guardar");
break;
case 2:
MessageBox.Show("Clicou no botão Sair");
break;
}
}
StatusBar
A statusbar é usada para mostrar o estado de algumas funcionalidades da aplicação. Podemos
adicionar quantos painéis quisermos a uma statusbar para mostrar diferentes tipos de informação.
Na toolbox arrastamos o componente statusbar para a form, e damos o nome de BarradeEstado.
No caso de querermos mostrar em baixo a acção que executamos, como por exemplo quando
carregamos no botão Adicionar, aparecer na barra de estado um “Pessoa Adicionada”. Para isso temos
de no botão adicionar colocar o código:
this.BarradeEstado.Text = "Pessoa Adicionada";
- 14 -
Na statusbar temos a possibilidade de criar painéis, para isso temos de ir à propriedade da
statusbar e por o ShowPanels a true. Abrimos de seguida em Panel o StatusbarPanel Collection editor
e adicionamos 2 panels, sendo o segundo alinhado à direita e aumentado a largura para 170.
O primeiro panel será para texto já antes feito e o segundo para apresentar a data e hora.
No botão Adicionar agora o código será o seguinte:
this.BarradeEstado.Panels[0].Text = "Pessoa Adicionada";
- 15 -
Arrastamos para o form o componente Timer e nas suas propriedades pomos o Enable a true.
Nos eventos clicamos duas vezes no Tick e colocamos o seguinte código:
private void timer1_Tick(object sender, System.EventArgs e)
{
this.BarradeEstado.Panels[1].Text = DateTime.Now.ToString();
}
Conclusão
Com este trabalho acabei por estudar e relembrar um pouco mais sobre este tema, o que foi
bastante positivo.
Na preparação do trabalho tive muita dificuldade em arranjar material na net, e mais informação
para além da que já tinha sido dada nas aulas, pois queria poder explorar um pouco mais os temas que
aqui foram falados, mas acho que o essencial foi dito e tentei-o explicar da melhor maneira.
Sílvia Manuela Astorga Vieira

Más contenido relacionado

La actualidad más candente

DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo  DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo Steven Ross
 
Aplicações java com netbeans
Aplicações  java com  netbeansAplicações  java com  netbeans
Aplicações java com netbeansThalles Anderson
 
Livro 5 excel
Livro 5 excelLivro 5 excel
Livro 5 excelJ M
 
curso operador de Micro - Windows xp
curso operador de Micro - Windows xp curso operador de Micro - Windows xp
curso operador de Micro - Windows xp Joao C F
 
Wind 7 passo a passo
Wind 7 passo a passoWind 7 passo a passo
Wind 7 passo a passofernandesabza
 
Altium designer I - Esquemático I
Altium designer  I - Esquemático IAltium designer  I - Esquemático I
Altium designer I - Esquemático Imatheusmbar
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_javasamuelthiago
 
Versões Windows e Gerenciamento de Usuários
Versões Windows e Gerenciamento de UsuáriosVersões Windows e Gerenciamento de Usuários
Versões Windows e Gerenciamento de UsuáriosVirgínia
 
Curso excel-2007-petcivil-matheus
Curso excel-2007-petcivil-matheusCurso excel-2007-petcivil-matheus
Curso excel-2007-petcivil-matheusGamOve
 
Apostilaexcel1 2007
Apostilaexcel1 2007Apostilaexcel1 2007
Apostilaexcel1 2007Pimentel
 
Conceitos básicos de sistema operacional
Conceitos básicos de sistema operacionalConceitos básicos de sistema operacional
Conceitos básicos de sistema operacionalArthur Farias
 
Sistema operativo em ambiente gráfico
Sistema operativo em ambiente gráficoSistema operativo em ambiente gráfico
Sistema operativo em ambiente gráficomarie1961
 

La actualidad más candente (16)

DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo  DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo
 
Aplicações java com netbeans
Aplicações  java com  netbeansAplicações  java com  netbeans
Aplicações java com netbeans
 
Livro 5 excel
Livro 5 excelLivro 5 excel
Livro 5 excel
 
curso operador de Micro - Windows xp
curso operador de Micro - Windows xp curso operador de Micro - Windows xp
curso operador de Micro - Windows xp
 
Wind 7 passo a passo
Wind 7 passo a passoWind 7 passo a passo
Wind 7 passo a passo
 
Altium designer I - Esquemático I
Altium designer  I - Esquemático IAltium designer  I - Esquemático I
Altium designer I - Esquemático I
 
Apostila do windows 7 2011-1
Apostila do windows 7   2011-1Apostila do windows 7   2011-1
Apostila do windows 7 2011-1
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_java
 
Versões Windows e Gerenciamento de Usuários
Versões Windows e Gerenciamento de UsuáriosVersões Windows e Gerenciamento de Usuários
Versões Windows e Gerenciamento de Usuários
 
Curso excel-2007-petcivil-matheus
Curso excel-2007-petcivil-matheusCurso excel-2007-petcivil-matheus
Curso excel-2007-petcivil-matheus
 
Apostilaexcel1 2007
Apostilaexcel1 2007Apostilaexcel1 2007
Apostilaexcel1 2007
 
Conceitos básicos de sistema operacional
Conceitos básicos de sistema operacionalConceitos básicos de sistema operacional
Conceitos básicos de sistema operacional
 
Sistema operativo em ambiente gráfico
Sistema operativo em ambiente gráficoSistema operativo em ambiente gráfico
Sistema operativo em ambiente gráfico
 
Tutorial html
Tutorial htmlTutorial html
Tutorial html
 
CURSO JAVA 02
CURSO JAVA 02CURSO JAVA 02
CURSO JAVA 02
 
Manual 7846
Manual 7846 Manual 7846
Manual 7846
 

Destacado

O computador
O computadorO computador
O computadorTiago
 
Postfix
PostfixPostfix
PostfixTiago
 
Manutenção
ManutençãoManutenção
ManutençãoTiago
 
Nagios2
Nagios2Nagios2
Nagios2Tiago
 
Hardware questionario 02
Hardware   questionario 02Hardware   questionario 02
Hardware questionario 02Tiago
 
Prog shell
Prog shellProg shell
Prog shellTiago
 
Hardware iii
Hardware iiiHardware iii
Hardware iiiTiago
 
Periféricos
PeriféricosPeriféricos
PeriféricosTiago
 
Programacao gtk
Programacao gtkProgramacao gtk
Programacao gtkTiago
 
Kit multímidia
Kit multímidiaKit multímidia
Kit multímidiaTiago
 
Instalacao xoops
Instalacao xoopsInstalacao xoops
Instalacao xoopsTiago
 
Tutorial de discos
Tutorial de discosTutorial de discos
Tutorial de discosTiago
 
Segurança de sistema firewall
Segurança de sistema   firewallSegurança de sistema   firewall
Segurança de sistema firewallTiago
 
Cd rom2
Cd rom2Cd rom2
Cd rom2Tiago
 
Robótica
RobóticaRobótica
RobóticaTiago
 
Wx python
Wx pythonWx python
Wx pythonTiago
 

Destacado (19)

O computador
O computadorO computador
O computador
 
Postfix
PostfixPostfix
Postfix
 
Manutenção
ManutençãoManutenção
Manutenção
 
Nagios2
Nagios2Nagios2
Nagios2
 
Hardware questionario 02
Hardware   questionario 02Hardware   questionario 02
Hardware questionario 02
 
Prog shell
Prog shellProg shell
Prog shell
 
Hardware iii
Hardware iiiHardware iii
Hardware iii
 
Sql
SqlSql
Sql
 
Periféricos
PeriféricosPeriféricos
Periféricos
 
Programacao gtk
Programacao gtkProgramacao gtk
Programacao gtk
 
Kit multímidia
Kit multímidiaKit multímidia
Kit multímidia
 
Instalacao xoops
Instalacao xoopsInstalacao xoops
Instalacao xoops
 
Tutorial de discos
Tutorial de discosTutorial de discos
Tutorial de discos
 
Ferm
FermFerm
Ferm
 
Zope
ZopeZope
Zope
 
Segurança de sistema firewall
Segurança de sistema   firewallSegurança de sistema   firewall
Segurança de sistema firewall
 
Cd rom2
Cd rom2Cd rom2
Cd rom2
 
Robótica
RobóticaRobótica
Robótica
 
Wx python
Wx pythonWx python
Wx python
 

Similar a Interfaces windows em c sharp

ODI Series - Importar Arquivos Texto para Tabelas
ODI Series - Importar Arquivos Texto para TabelasODI Series - Importar Arquivos Texto para Tabelas
ODI Series - Importar Arquivos Texto para TabelasCaio Lima
 
Apostila de programação visual netbeans
Apostila de programação visual   netbeansApostila de programação visual   netbeans
Apostila de programação visual netbeansPaulo Carvalho
 
Lazarus tutor exerc_db_faq_-_v16
Lazarus tutor exerc_db_faq_-_v16Lazarus tutor exerc_db_faq_-_v16
Lazarus tutor exerc_db_faq_-_v16Alex Rodrigues
 
Sobre Visual studio
Sobre Visual studioSobre Visual studio
Sobre Visual studioleolupe
 
Exercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data IntegrationExercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data IntegrationJarley Nóbrega
 
Loading icons in tbitbtn and tspeedbutton buttons
Loading icons in tbitbtn and tspeedbutton buttonsLoading icons in tbitbtn and tspeedbutton buttons
Loading icons in tbitbtn and tspeedbutton buttonsMichel Alves
 
Apostila Lázaro
Apostila LázaroApostila Lázaro
Apostila LázaroAPlima
 
ODI Series - Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo TextoODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series - Exportar Tabelas para Arquivo TextoCaio Lima
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidTiago Bencardino
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOSDevmedia
 

Similar a Interfaces windows em c sharp (20)

ODI Series - Importar Arquivos Texto para Tabelas
ODI Series - Importar Arquivos Texto para TabelasODI Series - Importar Arquivos Texto para Tabelas
ODI Series - Importar Arquivos Texto para Tabelas
 
Apostila de programação visual netbeans
Apostila de programação visual   netbeansApostila de programação visual   netbeans
Apostila de programação visual netbeans
 
Aula1 c++ builder
Aula1   c++ builderAula1   c++ builder
Aula1 c++ builder
 
Apostila: Netbeans
Apostila: NetbeansApostila: Netbeans
Apostila: Netbeans
 
Lazarus tutor exerc_db_faq_-_v16
Lazarus tutor exerc_db_faq_-_v16Lazarus tutor exerc_db_faq_-_v16
Lazarus tutor exerc_db_faq_-_v16
 
Apostila de Power BI - Aula 1.pdf
Apostila de Power BI - Aula 1.pdfApostila de Power BI - Aula 1.pdf
Apostila de Power BI - Aula 1.pdf
 
Sobre Visual studio
Sobre Visual studioSobre Visual studio
Sobre Visual studio
 
Exercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data IntegrationExercícios - Tutorial ETL com Pentaho Data Integration
Exercícios - Tutorial ETL com Pentaho Data Integration
 
Inventor
InventorInventor
Inventor
 
2335 inventor
2335 inventor2335 inventor
2335 inventor
 
Loading icons in tbitbtn and tspeedbutton buttons
Loading icons in tbitbtn and tspeedbutton buttonsLoading icons in tbitbtn and tspeedbutton buttons
Loading icons in tbitbtn and tspeedbutton buttons
 
3336 excel 2007_avancado
3336 excel 2007_avancado3336 excel 2007_avancado
3336 excel 2007_avancado
 
Excel 2007 avancado
Excel 2007 avancadoExcel 2007 avancado
Excel 2007 avancado
 
Apostila Lázaro
Apostila LázaroApostila Lázaro
Apostila Lázaro
 
Apostila Android
Apostila AndroidApostila Android
Apostila Android
 
ODI Series - Exportar Tabelas para Arquivo Texto
ODI Series -  Exportar Tabelas para Arquivo TextoODI Series -  Exportar Tabelas para Arquivo Texto
ODI Series - Exportar Tabelas para Arquivo Texto
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - Android
 
Apostila Lazarus
Apostila LazarusApostila Lazarus
Apostila Lazarus
 
Vbasic6
Vbasic6Vbasic6
Vbasic6
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
 

Más de Tiago

Programacao php moodle
Programacao php moodleProgramacao php moodle
Programacao php moodleTiago
 
Apostila cdtc dotproject
Apostila cdtc dotprojectApostila cdtc dotproject
Apostila cdtc dotprojectTiago
 
6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascalTiago
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascalTiago
 
Python bge
Python bgePython bge
Python bgeTiago
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 pythonTiago
 
Threading in c_sharp
Threading in c_sharpThreading in c_sharp
Threading in c_sharpTiago
 
Retirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpRetirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpTiago
 
Remover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpRemover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpTiago
 
Obter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpObter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpTiago
 
Metodo using no_c_sharp
Metodo using no_c_sharpMetodo using no_c_sharp
Metodo using no_c_sharpTiago
 
Introdução ao c# para iniciantes
Introdução ao c# para iniciantesIntrodução ao c# para iniciantes
Introdução ao c# para iniciantesTiago
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivosTiago
 
Curso linux professor rafael
Curso linux professor rafaelCurso linux professor rafael
Curso linux professor rafaelTiago
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Controle lpt em_c_sharp
Controle lpt em_c_sharpControle lpt em_c_sharp
Controle lpt em_c_sharpTiago
 
Classes csharp
Classes csharpClasses csharp
Classes csharpTiago
 
C# o basico
C#   o basicoC#   o basico
C# o basicoTiago
 

Más de Tiago (20)

Programacao php moodle
Programacao php moodleProgramacao php moodle
Programacao php moodle
 
Apostila cdtc dotproject
Apostila cdtc dotprojectApostila cdtc dotproject
Apostila cdtc dotproject
 
6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascal
 
Python bge
Python bgePython bge
Python bge
 
Curso python
Curso pythonCurso python
Curso python
 
Curso python
Curso pythonCurso python
Curso python
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
Threading in c_sharp
Threading in c_sharpThreading in c_sharp
Threading in c_sharp
 
Retirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpRetirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharp
 
Remover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpRemover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharp
 
Obter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpObter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharp
 
Metodo using no_c_sharp
Metodo using no_c_sharpMetodo using no_c_sharp
Metodo using no_c_sharp
 
Introdução ao c# para iniciantes
Introdução ao c# para iniciantesIntrodução ao c# para iniciantes
Introdução ao c# para iniciantes
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
 
Curso linux professor rafael
Curso linux professor rafaelCurso linux professor rafael
Curso linux professor rafael
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Controle lpt em_c_sharp
Controle lpt em_c_sharpControle lpt em_c_sharp
Controle lpt em_c_sharp
 
Classes csharp
Classes csharpClasses csharp
Classes csharp
 
C# o basico
C#   o basicoC#   o basico
C# o basico
 

Último

Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Centro Jacques Delors
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosGentil Eronides
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Cabiamar
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptxMarlene Cunhada
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVlenapinto
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...AnaAugustaLagesZuqui
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 

Último (20)

Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Slides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exerciciosSlides 9º ano 2024.pptx- Geografia - exercicios
Slides 9º ano 2024.pptx- Geografia - exercicios
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 

Interfaces windows em c sharp

  • 1. - 1 - Interfaces Windows com C# C# é uma linguagem orientada ao objecto moderna que possibilita os programadores a construir rápida e facilmente soluções para a plataforma Microsoft .NET. E este trabalho tem como objectivo apresentar alguns dos comandos e utilidades de Interfaces Windows com o C#. Redimensionamento de Forms Dock Dock é a propriedade que fixa o seu componente a alguma borda do formulário. this.button1.Dock = System.Windows.Forms.DockStyle.Left; Para ver em acção esta propriedade, coloca-se aleatoriamente sete botões numa form, como se vê na imagem: Digita-se em seguida o código abaixo no evento Load do formulário. private void Form1_Load(object sender, System.EventArgs e) { this.button1.Dock = System.Windows.Forms.DockStyle.Top; this.button2.Dock = System.Windows.Forms.DockStyle.Top; this.button3.Dock = System.Windows.Forms.DockStyle.Bottom; this.button4.Dock = System.Windows.Forms.DockStyle.Bottom;
  • 2. - 2 - this.button5.Dock = System.Windows.Forms.DockStyle.Left; this.button6.Dock = System.Windows.Forms.DockStyle.Right; this.button7.Dock = System.Windows.Forms.DockStyle.Fill; } O resultado será igual à imagem: Muito interessante, porém pouco funcional. Propondo um exemplo funcional, vamos simular um Windows explorer e utilizar a propriedade Dock para funcionalidades mais úteis. Numa form introduzimos uma treeview e alteramos a propriedade Dock para left. Colocamos agora um componente splitter, que serve para redimensionar a treeview quando o programa estiver a “correr”, que possui já por default a propriedade Dock como Left. Coloca-se agora o componente listview do lado direito do spliter e configura-se a propriedade Dock para Fill. Visualmente já possuímos um simulador de Windows Explorer, que pode ser redimensionado livremente sem comprometer sua visualização.
  • 3. - 3 - Anchor Passando para a propriedade Anchor, a sua finalidade é definir uma constante de limite entre a borda e o próprio elemento, ou seja, ancorar o seu componente a uma ou mais das suas bordas. Assim como a propriedade Dock, Anchor pode ser alterada na janela Properties ou no decorrer do programa através de código. Vejamos o exemplo seguinte: this.button1.Anchor = (System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right); Esta propriedade é muito útil quando desejamos ter o controle de como os componentes irão ser “esticados”. Vamos considerar o formulário a seguir: Sem alterar nenhuma propriedade default, ao executarmos o programa se maximizarmos o form, os componentes não se movem e o formulário fica com uma imensa área cinza inútil. Pode-se desejar que o componente da descrição seja aumentado para facilitar a sua visualização.
  • 4. - 4 - Para resolver este problema procedemos aos seguintes passos: 1. A label consulta não precisa de ser alterado. Por default esta ancorado como Left e Top. 2. Na combobox altera-se a propriedade Anchor para Left, Top e Right. Assim será esticado horizontalmente. 3. Na label descrição, altera-se a propriedade Anchor somente para Left. Assim continuará centralizado em relação ao textbox. 4. Na textbox, marca-se todas as opções, ou seja, Left, Top, Right e Bottom. 5. Finalmente altera-se os botões para Right e Bottom. Para ficar ainda melhor, alterar-se a propriedade MinimumSize do formulário para o tamanho actual do mesmo. Desta forma, se o utilizador tentar diminuir demais o form, não irá esconder os seus componentes. Panels Considerando o seguinte formulário, para o redimensionar teríamos de utilizar as propriedades Dock e Anchor. Contudo, para o conseguir esse efeito dependemos mais do que isso, pois não é permitido no mesmo componente alterar as propriedades Dock e Anchor ao mesmo tempo. Como solução a este problema utilizamos os Panels, que servem como container de componetes. Divide-se o form em duas partes conforme a imagem sugere. As cores diferentes dos panels são para facilitar a sua visualização e compreensão. No panel vermelho, alterar-se a propriedade Dock para Top e no verde para Fill.
  • 5. - 5 - No panel vermelho, coloca-se mais dois novos panels, dividindo a área entre eles. Para isso alterar-se a propriedade Dock do panel amarelo para Left e do Azul para Fill. Ao executar o programa e maximizar o formulário os panels com Dock igual a Fill redimensionam conforme o form, o panel amarelo permanece inalterado. Agora basta preencher os panels com os seus componentes respectivos do formulário inicial, com as seguintes regras: • O panel amarelo e azul não são redimensionados verticalmente; • O panel amarelo não é redimensionado horizontalmente.
  • 6. - 6 - Controlos de Interface Os componentes de diálogo dos formulários são as mesmas caixas de diálogo encontradas no sistema do Windows, temos o OpenFileDialog, para abrir um ficheiro; o SaveFileDialog, para gravar um ficheiro; o PrintDialog, caixa de diálogo para impressão de um ficheiro, FontDialog, caixa de diálogo para mudar a font de um documento, ColorDialog, muda a cor de um documento, etc. Para usar uma caixa de diálogo, na toobox arrasta-se para a form o componente pertendido, que não aparecerá quando a form estiver a correr. Coloca-se um botão ou cria-se um menu, que será usado para chamar a caixa de diálogo. Open File Dialog Este componente apresenta ao usuário uma caixa de diálogo que permite abrir ficheiros que retorna o caminho e o nome do ficheiro seleccionado na caixa de diálogo. Ao componente Openfiledialog deu-se o nome cdAbrir. No Menu Guardar para abrir um ficheiro na caixa de diálogo para uma rich text box, com o nome rtbficheiro, implementa-se o código:
  • 7. - 7 - private void Abrir_Click(object sender, System.EventArgs e) { //filtrar os ficheiros TXT ou Rtf cdAbrir.Filter = "Ficheiros TXT|*.TXT|Ficheiros RTF|*.RTF|Todos os Ficheiros|*.*"; //mostrar o titulo cdAbrir.Title = "Selecione um ficheiro para abrir"; if (cdAbrir.ShowDialog() == DialogResult.OK) { //obter o nome do ficheiro que deseja abrir... string ficheiro = cdAbrir.FileName; //carregar o ficheiro na Rich Text Box if (System.IO.Path.GetExtension(ficheiro).ToUpper() == ".TXT") this.rtbficheiro.LoadFile(ficheiro,RichTextBoxStreamType.PlainText); else this.rtbficheiro.LoadFile(ficheiro); } } Save File Dialog Este componente mostra ao usuário uma caixa de diálogo que o possibilita escolher o caminho e o nome do ficheiro a guardar.
  • 8. - 8 - Depois de se adicionar à form o componente Savefiledialog e se dar o nome cdGuardar, passa-se para o código do botão Guardar no menu ficheiro. private void Guardar_Click(object sender, System.EventArgs e) { //mostrar o titulo cdGuardar.Title = "Guardar Ficheiros como:"; //filtrar o ficheiros txt ou rtf cdGuardar.Filter = "Ficheiros TXT|*.TXT|Ficheiros RTF|*.RTF"; if (cdGuardar.ShowDialog() == DialogResult.OK) { //se escolher a primeira opção da combobox filter if (cdGuardar.FilterIndex == 1) //guardar o ficheiro com a extensão TXT this.rtbficheiro.SaveFile(cdGuardar.FileName,RichTextBoxStreamType.Pla inText); //caso a seja escolhida a segunda opção else if (cdGuardar.FilterIndex == 2) //guardar o ficheiro com a extensão RTF this.rtbficheiro.SaveFile(cdGuardar.FileName,RichTextBoxStreamType.RichText) ; MessageBox.Show("Ficheiro Guardado com sucesso"); } } Font Dialog Com este componente poderemos mudar o tipo e o tamanho de letra da nossa rich text box.
  • 9. - 9 - No menu Font implementamos o seguinte código: private void Font_Click(object sender, System.EventArgs e) { this.cdFont.ShowDialog(); this.rtbficheiro.Font = this.cdFont.Font; } Color Dialog Com este componente mudamos a cor do texto da nossa rich text box. private void menuItem16_Click(object sender, System.EventArgs e) { this.colorDialog1.ShowDialog(); this.rtbficheiro.SelectionColor = this.colorDialog1.Color; }
  • 10. - 10 - Toolbar Uma Toolbar serve para agrupar um conjunto de botões. Vamos ver como se adiciona uma Toolbar a uma form, com imagens nos seus botões. Arrasta-se o componente Toolbar para a form. De seguida, da Toolbox adiciona-se uma ImageList à form, e nas suas propriedades temos a possibilidade de adicionar imagens à ImageList Clicamos agora em (Collection) para aparecer o editor da Image Collection. Usamos o Add para adicionar uma imagem à ImageList. Adicionei 3 imagens para as acções Guardar, Abrir, e Retroceder.
  • 11. - 11 - Na propriedade ImageList da toolbar adicionamos a nossa ImageList, que neste caso se chama Imagens. Agora vamos à propriedade Buttons, que nos permite adicionar e remover botões à toolbar, abrimos o seu editor e adicionamos 3 botões, Abrir, Guardar e Retroceder. Para cada botão definimos uma imagem na ImageList, que agora estão disponíveis, pois foram introduzidas anteriormente na ImageList, e mudamos o Text para o nome de cada botão.
  • 12. - 12 - A toolbar está completa e ficou com a seguinte apresentação: Por último o código para cada um dos botões processa-se da seguinte forma:
  • 13. - 13 - private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e) { //executa a opção escolhida switch (toolBar1.Buttons.IndexOf(e.Button)) { case 0: MessageBox.Show("Clicou no botão abrir"); break; case 1: MessageBox.Show("Clicou no botão guardar"); break; case 2: MessageBox.Show("Clicou no botão Sair"); break; } } StatusBar A statusbar é usada para mostrar o estado de algumas funcionalidades da aplicação. Podemos adicionar quantos painéis quisermos a uma statusbar para mostrar diferentes tipos de informação. Na toolbox arrastamos o componente statusbar para a form, e damos o nome de BarradeEstado. No caso de querermos mostrar em baixo a acção que executamos, como por exemplo quando carregamos no botão Adicionar, aparecer na barra de estado um “Pessoa Adicionada”. Para isso temos de no botão adicionar colocar o código: this.BarradeEstado.Text = "Pessoa Adicionada";
  • 14. - 14 - Na statusbar temos a possibilidade de criar painéis, para isso temos de ir à propriedade da statusbar e por o ShowPanels a true. Abrimos de seguida em Panel o StatusbarPanel Collection editor e adicionamos 2 panels, sendo o segundo alinhado à direita e aumentado a largura para 170. O primeiro panel será para texto já antes feito e o segundo para apresentar a data e hora. No botão Adicionar agora o código será o seguinte: this.BarradeEstado.Panels[0].Text = "Pessoa Adicionada";
  • 15. - 15 - Arrastamos para o form o componente Timer e nas suas propriedades pomos o Enable a true. Nos eventos clicamos duas vezes no Tick e colocamos o seguinte código: private void timer1_Tick(object sender, System.EventArgs e) { this.BarradeEstado.Panels[1].Text = DateTime.Now.ToString(); } Conclusão Com este trabalho acabei por estudar e relembrar um pouco mais sobre este tema, o que foi bastante positivo. Na preparação do trabalho tive muita dificuldade em arranjar material na net, e mais informação para além da que já tinha sido dada nas aulas, pois queria poder explorar um pouco mais os temas que aqui foram falados, mas acho que o essencial foi dito e tentei-o explicar da melhor maneira. Sílvia Manuela Astorga Vieira