Buscar

Análise e desenvolvimento de aplicações com a integração de Console App e Windows Form no C#

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Instituto Paulista de Ensino e Pesquisa – IPEP
Análise e desenvolvimento
de aplicações com a integração de
Console App e Windows Form no C# 
Fabrício da Silva Dias
Campinas – 2015
 
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
 IPEP
Análise e desenvolvimento
de aplicações com a integração de
Console App e Windows Form no C#
 
Aluno: Fabrício da Silva Dias – Análise e Desenvolvimento de Sistemas
Professor: Jonas Bodê – Lógica de Programação
 
01
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Sumário
– Sumário __________________________________________________________________02
– Análise da Interação (Aplicações) ______________________________________________03
 – Programação em C# no Linux_________________________________________________04
 – Compilador (MCS) Monodevelop em Linux Mint _________________________________05
 – Executando aplicações no Monodevelop 4 utilizando a distribuição linux Ubuntu 14.04 ___06
 – A integração e a Interação de Console app com Windows Form em C# (Comportamento) __07
 – Simulação do Console app na Janela TextBox do Windows Form _____________________08
 – Orientação a objetos ________________________________________________________09
 – Execução de Janelas em W.Form ______________________________________________12
 – Código Fonte – Form1.cs ____________________________________________________14
 – Código Fonte – nome.cs _____________________________________________________16
 – Código fonte – TextBoxStreamWriter.cs _________________________________________17
 – Ferramentas adicionais (Parte 1.0 – Console: Formulário) ___________________________18
 – Ferramentas adicionais (Parte 1.1 – Windows Form: Formulário)______________________20
 – Ferramentas adicionais (Parte 1.2 – Resumo da Formação)___________________________22
 – Ferramentas adicionais (Parte 2.0 – Console: Operações mat. Simples) _________________23
– Ferramentas adicionais (Parte 2.1 – W. Form: Operações mat. Simples)_________________24
– Extras imagens 1.0___________________________________________________________26
– Extras imagens 1.1___________________________________________________________27
– Extras imagens 1.2___________________________________________________________28
 – Resumo: __________________________________________________________________29
 – Referencias: _______________________________________________________________30
 
 
 
 
 02
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Análise da integração 
Aplicações
Para iniciar o estudo refente a integração e a interação de dois modelos destintos de programação 
em C#, é preciso evidenciar que o elo de compatibilidade é padrão, porém menos utilizado devido a
facilidade de substituir a integração por meios existentes dentro de cada uma das formas de 
programar! 
Um exemplo desse argumento é a utilização de interfaces dentro do próprio console, que por 
frequência de uso devido a facilidade de desenvolvimento, torna esse meio mais evidente e exposto 
na busca de informações!
Veja um exemplo de Interface no Console:
 (O programa compilado nessa imagem tem autoria declarada em si!) 
03
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Programação em C# no Linux
A maioria dos programadores de C# utilizam o sistema operacional Windows (Microsoft) devido a 
linguagem ter mais suporte e aplicativos dedicado, o motivo é de sua autoria estar atribuída a 
empresa Microsoft, cujo padrão tecnológico se restringe ao chamado “Código fechado”. Porém, a 
linguagem também pode ser utilizada em diversas plataformas de Sistemas Operacionais 
alternativos, cujo abrangimento também atinge diversas distribuições Linux de código aberto.
A ferramenta de desenvolvimento mais utilizado é o “Visual Studio” da Microsoft. Portanto, para 
apresentar meios alternativos a esta, utilizaremos a ferramenta “Monodevelop” em duas 
distribuições Linux .
Primeiro exemplo:
Distribuição: Linux Mint 17
Editor fonte: Gedit - (.cs)
04
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Compilador : MonoDevelop - (Comando "mcs" para criar arquivo executável).
Programa de simulação de arquivos .exe: Wine.
Programa em execução:
05
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Distribuição: Ubuntu 14.04
Ferramenta de programação: Monodevelo 4.
Executor: Monodevelop Simulador.
Sistema em execução: ConsoleSistema - Autoria – Fabrício da Silva Dias
06
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
A integração e a Interação de
Console app com Windows Form
em C#
Parte 1 - Comportamento
Nesse capitulo do estudo, iremos analisar o comportamento de um sistema cujo seu 
desenvolvimento teve como foco principal, interagir os comandos de console app dentro da carcaça 
desenhada em Windows form utilizando a ferramenta Visual Studio.
A figura abaixo demostra a face do sistema, que em breve análise destaca a janela do todo, cujo 
conteúdo se trata de um console no padrão preto integrado em seu corpo!
07
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
O console está simulado dentro de uma janela do tipo “TextBox” do Windows Form, cujo objetivo 
é refletir o vigor da execução dos comandos do console!
Mas para que seja atribuído a função de executar comandos de console, é necessário definir os 
padrões da interação entre ambas formas! 
Vejamos a formação do código fonte para entender o primeiro passo dessa interação:
Observe que esse modelo apresenta a atribuição para a execução das funções de console dentro do 
painel de RichTextBox do Windows Form, ou seja, requisito que vincula os padrões dos modelos, 
observando também que a função está definida apenas para uma caixa de texto específico!Nesse 
caso, a caixa apontada para executar as funções do console é a caixa preta visto na imagem anterior.
Vamos analisar também a “orientação a objeto” evidente nesse fonte! 
08
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Orientação a objetos
A classe é o ambiente que envolve, define e comporta o objeto que por sua vez define a formação da
ordem escrita pelo programador, que é dividida em conjuntos de atributos, cujo cada atributo define 
sua característica, o método é quem define o comportamento dos objetos dentro das classes!
Entendeu?
Com base nessa breve explicação, veremos a interação das classes do programa.
Analise o seguinte trecho do fonte:
A classe está expressando a saída de atributos para que possa ser utilizada em em outra classe!
Vamos entender melhor observando a classe que interliga e recebe os objetos:
09
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Veja na imagem a seguir a ordem de recebimento dos objetos apontados na classe anterior:
Agora iremos analisar o próximo trecho do fonte, a parte que não está envolvida pelo quadrado.
Observe que a sequencia de comandos de console está dentro de um botão chamado 
“iniciar_Click”. Esse propósito está amparado no objetivo de executar os comandos ao ser 
executado!
10
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Veja o exemplo na imagem seguinte:
O botão referido se refere o “INICIAR” na janela do form, que ao ser acionado executou oscomandos que estão inseridos nele! 
Perceba também que há uma outra janela aberta na imagem, trata-se de um formulário!
Esse formulário foi aberto após a execução do botão iniciar, veja o código fonte na próxima 
imagem:
11
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Observe na seguinte imagem o comando que fez o chamado da janela chamada “nome” .
Agora veja o recebimento das informações na janela de console após o preenchimento da janela do 
formulário:
12
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Agora vejamos a formação básica do sistema. As partes selecionadas refere as que foram
mencionadas até aqui.
Form1.cs : Trata-se da janela inicial do sistema.
nome.cs : Trata-se da janela de formulário.
TextBoxStreamWriter.cs : Trata-se da classe que define a ordem inicial da interação do console na 
janela “TextBox” do windows form.
13
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Código fonte 
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
namespace Consolecomform
{
 public partial class FormConsole : Form
 
 {
 TextWriter _writer = null;
 public FormConsole()
 {
 InitializeComponent();
 }
 private void FormConsole_Load(object sender, EventArgs e)
 {
 _writer = new TextBoxStreamWriter(txtConsole);
 Console.SetOut(_writer); 
 }
 private void iniciar_Click ( object sender, EventArgs e )
 {
 // console comandos:
Console.WriteLine("\n\n\n_____________________________________________");
Console.WriteLine("|||||||||||||||||||||||||||||||||||||||||||||||||||");
Console.WriteLine("\n\n\t\t\t Apresentação\n");
Console.WriteLine("Aluno: Fabrício da Silva Dias");
Console.WriteLine("Trabalho inter");
Console.WriteLine("Linguagem utilizada: CSHARP (C#) ");
Console.WriteLine("Escola: IPEP");
Console.WriteLine("Turma - ADS.2015");
Console.WriteLine("Professor orientador: Adriano");
Console.WriteLine("\n ________________________________________________");
Console.WriteLine("|||||||||||||||||||||||||||||||||||||||||||||||||||");
Console.Write("\n\nPara continuar, ");
Console.Write("preencha o formulário na caixa de diálogo:\n");
nome f2 = new nome();
f2.ShowDialog(); 14
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Console.WriteLine("\nPara continuar, escolha alguma das ferramentas disponiveis.\n");
 
 }
 private void txtConsole_TextChanged ( object sender, EventArgs e )
 { 
 }
 public bool intercept { get; set; }
 private void button1_Click_1 ( object sender, EventArgs e )
 {
 txtConsole.Clear();
 }
 private void button2_Click_2 ( object sender, EventArgs e )
 {
 Close();
 }
 private void button3_Click_1 ( object sender, EventArgs e )
 {
 sobre f2 = new sobre();
 f2.ShowDialog();
 }
 private void button5_Click ( object sender, EventArgs e )
 {
 Formextra f2 = new Formextra();
 f2.ShowDialog();
 }
 private void button4_Click_1 ( object sender, EventArgs e )
 {
 extraconsole f2 = new extraconsole();
 f2.ShowDialog();
 }
 private void button4_Click_2 ( object sender, EventArgs e )
 {
 Formextra f2 = new Formextra();
 f2.ShowDialog();
 }
 private void button5_Click_1 ( object sender, EventArgs e )
 {
 interativo f2 = new interativo();
 f2.ShowDialog();
 }
 } 15
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Código fonte 
nome.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Consolecomform
{
 public partial class nome : Form
 {
 public nome ( )
 {
 InitializeComponent();
 }
 private void textBox1_TextChanged ( object sender, EventArgs e )
 {
 }
 private void button1_Click ( object sender, EventArgs e )
 {
 string curso = textBox4.Text, escola = textBox3.Text, nome = textBox1.Text;
 
 nome = Convert.ToString(textBox1.Text);
 Console.WriteLine("\n\n Dados do usuário: \n");
 Console.Write("\t\t Nome: ");
 Console.Write(nome = textBox1.Text);
 Console.Write("\n\t\t Escola: ");
 Console.Write(escola = textBox3.Text);
 Console.Write("\n\t\t Curso: ");
 Console.Write(curso = textBox4.Text);
 Console.WriteLine("\n\n _____________________________________________");
 Console.WriteLine("||||||||||||||||||||||||||||||||||||||||||||||||||");
 Close();
 }
 private void textBox3_TextChanged ( object sender, EventArgs e )
 {
 }
 private void textBox4_TextChanged ( object sender, EventArgs e )
 {
 }
 private void label6_Click ( object sender, EventArgs e ) 16
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
 }
 private void nome_Load ( object sender, EventArgs e )
 {
 }
 private void button2_Click ( object sender, EventArgs e )
 {
 textBox1.Clear();
 textBox3.Clear();
 textBox4.Clear();
 }
 private void button3_Click ( object sender, EventArgs e )
 {
 Close();
 }
 }
} 
Código fonte 
TextBoxStreamWriter.cs 
using System;
using System.Text;
using System.IO;
using System.Windows.Forms;
namespace Consolecomform
{
 public class TextBoxStreamWriter : TextWriter
 {
 TextBox _output = null;
 private RichTextBox richTextBox1;
 public TextBoxStreamWriter(TextBox output)
 {
 _output = output;
 }
 public TextBoxStreamWriter ( RichTextBox richTextBox1 )
 {
 this.richTextBox1 = richTextBox1;
 }
 public override void Write(char value)
 {
 base.Write(value);
 _output.AppendText(value.ToString());
 }
 public override Encoding Encoding
 {
 get { return System.Text.Encoding.UTF8; }
 } 17
 
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Ferramentas adicionais (Parte 1)
Formulário
Para iniciar o estudo do desenvolvimento e a análise comparativa de console e form no C#, é 
preciso demonstrar o comportamento de ferramentas cujo exercício tem funções semelhantes, 
porém cada aplicação terá sua programação comparada para evidenciar as diferenças estruturais de 
suas formações! Em nossa primeira análise, iremos estudar o comportamento e o desenvolvimento 
de um formulário simples na aplicação de console, logo após, será demonstrado em W.Form.
Analise o seguinte fonte:
18
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Agora observe o resultado de sua execução:
Em simples análise, o fonte se resume na declaração das variáveis do tipo “string” para os nomes do
formulário, cujo exercício de preenchimentoestá sob vigor do comando “Console.Write();”, e para 
reconhecer as variáveis declarada e caracterizar sua função cujo a finalidade é transcrever o dígito 
armazenado em suas respectivas linhas, vigora o seguinte comando,
 “ nomedavariavel = Console.ReadLine();”.
A impressão das informações digitadas no formulário cujo armazenamento estão contidas nas 
variáveis será exercida pelo comando,
 “Console.WriteLine(“” + variável);”.
19
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Windows Form
Analise as seguintes fontes:
 
 20
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Um trecho da interface gráfica do formulário:
21
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Resumo da formação
22
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Ferramentas adicionais (Parte 2)
Operações em matemática simples
Nessa etapa, iremos analisar a formação de simples operações matemática, analisando a formação 
dos algorítimos e a inclusão dos padrões na programação em C#.
Vejamos o seguinte fonte em console:
Veja o resultado: 
 23
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Nessa simples operação de adição, as variáveis declaradas estão no formato “INT” (Armazenam 
valores inteiros com sinal de 32 bites), cujo resultado da soma é : 
“A (Primeiro dígito) + B (Segundo dígito) = C (resultado da soma de a+b).”
Agora vejamos o seguinte fonte (W.Form):
Cujo resultado é:
 
 24
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Observe que nesse fonte as variáveis estão no tipo “FLOAT” (Valor numérico com precisão decimal
de 32 bites), além de apresentar o “IF” que no caso representa a instrução de saída do 
RádioButton1, que será acionado caso estiver selecionado(.checked) e executará a ordem transcrita 
em seu corpo. Essa ordem é a expressão matemática que estamos comparando a do console, visto 
no exemplo anterior.
As variáveis estão declaradas da seguinte maneira:
Legenda (c1 = Campo 1, c2 = Campo 2, c3 = Campo 3)
As variáveis:
C1 = Armazenará os dígitos do “TextBox1.Text”.
C2 = Armazenará os dígitos do “TextBox2.Text”.
C3 = Este campo receberá a soma das variáveis (c1+c2) e explicitará o resultado da expressão no 
campo 3 (TextBox3.Text) pelo vigor do “toString”.
25
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Extras imagens 1.0
Exibição do código fonte relativo a integração:
(Imagem – Fabrício da Silva Dias)
26
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Extras imagens 1.1
Exibição do código fonte relativo ao formulário:
(Imagem – Fabrício da Silva Dias)
27
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Extras imagens 1.2
Exibição do código fonte relativo a calculadora:
(Imagem – Fabrício da Silva Dias)
28
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Resumo
Análise do estudo
Após analisar todo esse estudo sobre o comportamento das aplicações de Console-app (modelo 
texto) e Windows-Form (Modelo janela) em C#, podemos entender que apesar das diferenças cujo 
suas distinções devidamente definidas na integração não representa incompatibilidade, a optação de 
integrar os modelos abre diversas formas alternativas que caracterizará o programa em diversos 
aspectos nos mais variados objetivos do programador. gostaria de destacar um aspecto especial, 
cujo objetivo trata-se de observar a facilidade do desenvolvimento integrado de um ambiente 
gráfico em windows form para executar os processos na agilidade do modelo texto em console. Em 
resumo, a integração apresenta um desempenho sofisticado se comparado as aplicações 
desenvolvidas apenas no ambiente gráfico do Windows Form, além de não descartar o visual 
gráfico atrativo para o conforto do usuário. 
- Fabrício da Silva Dias – 2015 -
 
29
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
Refencias:
Livros:
- Visual Studio C# - Fundamentos, programação com ASP.NET, Windows Form e Web Services.
- Conceitos de linguagens de programação.
- C# - School-Ebook. (www.programmersheaven.com)
Sites:
- www.w3schools.com
- www.msdn.microsoft.com
- www.stackoverflow.com
- www.devmedia.com.br
- www.linhadecodigo.com.br
- www.csharp-station.com
- www.csharpens.com
- www.c-sharpcorner.com
- www.programmersheaven.com
 30
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1
TAPI - Lógica de Programação – Aluno: Fabrício S. Dias – Prof: Jonas Bodê – ADS – IPEP – 2015.1

Outros materiais