fbpixel
Criar uma aplicação com React Native e VSCode

Criar uma aplicação com React Native e VSCode

Neste tutorial, veremos como programar um aplicativo para smartphone usando React Native e VSCode. O React Native é uma ferramenta poderosa para criar aplicativos multiplataforma (Android, IOs) usando a linguagem JavaScript. O Visual Studio Code é um editor de código para desenvolvimento em C++, Python e React Native.

Como parte de um projeto Arduino ou Raspberry Pi, vimos como criar uma aplicação Android com o App Inventor 2. Com React Native, embora mais complexo, poderá criar aplicações mais avançadas e desenvolver em Android e IOs.

Instalar o Node.js

O Node.js é um ambiente de execução Javascript para desenvolvimento back-end e front-end.

Para instalar o Node.js no seu computador Windows, basta descarregar o instalador

Uma vez instalado o Node.js, terá acesso ao npm (Node Package Manager), que lhe permitirá instalar os pacotes necessários.

Instalar e configurar o Android Studio

Descarregar e instalar o Java JDK 11

Configure JAVA_HOME nas variáveis de ambiente (C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\)

Descarregar e executar o instalador do Android Studio

Configurar ANDROID_HOME nas variáveis de ambiente (C:\Users\ADMIN\AppData\Local\Android\Sdk)

Abra o Android Studio. Na janela inicial, clique em Configurar e depois em Gestor de AVD

Aqui pode definir os dispositivos virtuais nos quais vai testar a sua aplicação.

Nota: A instalação e a configuração do Android Studio e o funcionamento correto dos dispositivos virtuais podem depender da instalação do Android SDK, do Java SDK e do Gradle, etc. Verificar se as versões são compatíveis.

Instalar e configurar o Visual Studio Code

Para instalar o Visual Studio Code, basta transferir e executar o instalador

Uma vez instalado o software, pode adicionar as extensões necessárias para o desenvolvimento em React Native com VSCode

Criar um projeto React Native

Crie uma pasta que contenha o seu projeto ReactNative e, em seguida, abra-o no VSCode

No terminal,

npx react-native@latest init CustomApp

Instalar as dependências com o yarn e lançar a aplicação

cd CustomApp
npm install -g yarn  
yarn install
npx react-native start

Em seguida, prima “a” para o executar no Android

Visualizar a aplicação num dispositivo Android

No seu telemóvel Android, em “Definições”, vá a “Definições adicionais” e depois a “Opções para programadores”. Procure a opção “Depuração USB” e active-a. Isto permitir-lhe-á instalar aplicações através da porta USB.

Pode verificar se o seu dispositivo foi corretamente detectado e configurado com o comando adb devices.

Depois de o seu dispositivo ter sido corretamente configurado, se relançar a aplicação, esta será descarregada e instalada no dispositivo.

Agora já pode desenvolver e instalar a sua aplicação num dispositivo.

N.B.: Se tiver dificuldade em instalar um simulador ou se não tiver um dispositivo, também pode ver os resultados na CodeSandBox para testar a sua aplicação.

Geração de APK

Depois de a sua aplicação ter sido testada e validada num simulador ou num dispositivo real, pode gerar o ficheiro APK. Este ficheiro pode ser descarregado para qualquer dispositivo com um sistema operativo compatível e utilizado para instalar a aplicação.

No ficheiro android/build.gradle, verifique se a versão do SDK (nível da API) corresponde à versão da plataforma de destino

buildscript {
    ext {
        buildToolsVersion = "33.0.0"
        minSdkVersion = 21
        compileSdkVersion = 33
        targetSdkVersion = 33

        // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
        ndkVersion = "23.1.7779620"
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:7.3.1")
        classpath("com.facebook.react:react-native-gradle-plugin")
    }
}

Na raiz do projeto CustomApp, introduza os seguintes comandos no VS Code

cd android
./gradlew assembleRelease

É possível limpar a compilação antes de gerar a compilação com o comando

./gradlew clean

Alterar o ícone da aplicação

Os ícones da aplicação podem ser encontrados na pasta android

Para substituir os ícones predefinidos da aplicação, é necessário criar ícones de diferentes tamanhos. Isto pode ser feito facilmente com a ferramenta IconKitchen, que lhe permite carregar uma imagem e gerar todos os tamanhos de ícones. Depois de ter descarregado a pasta IconKitchen-Output, pode substituir as seguintes pastas na pasta res do seu projeto.

  • mipmap-hdpi
  • mipmap-mdpi
  • mipmap-xhdpi
  • mipmap-xxhdpi
  • mipmap-xxxhdpi

N.B.: Modifique o nome do ficheiro com o nome do ficheiro original, se necessário, ou altere o nome do ficheiro em AndroidManifest.xml

React Native: melhores práticas

Existem diferentes formas de fazer a mesma coisa, especialmente em programação. No entanto, a experiência de muitas pessoas mostra que os bons hábitos permitem trabalhar de forma mais eficiente.

  • Adicionar TypeScript para melhorar a leitura do código e evitar bugs
  • Utilizar estilos responsivos que se adaptam a diferentes tamanhos de ecrã
  • Utilizar estilos consoante a plataforma
  • Preferir componentes funcionais a componentes de classe
  • Criar um tema no qual se especificam os estilos de interface
  • Definir os diferentes percursos do utilizador

Aplicações

Fontes

Algumas notas sobre a utilização do Git

Algumas notas sobre a utilização do Git

O GitHub é uma plataforma de colaboração e gestão de versões de código aberto para programadores de software. Baseia-se no Git, uma ferramenta de controlo de versões de código aberto. Fornece uma cronologia de desenvolvimentos sem perdas, que pode ser facilmente multi-utilizador, especificando o autor, a data e a descrição (mensagem) de cada alteração feita por um dos utilizadores. Existe um sistema de ramificação para diferentes versões de código com um núcleo comum.

Aquilo a que chamamos um repositório Git é uma espécie de sistema de ficheiros (base de dados), que regista as versões dos ficheiros de um projeto em momentos específicos sob a forma de instantâneos. É importante acompanhar os seus desenvolvimentos nos seus projectos bem estruturados.

É importante saber que o Github não é o único site de repositórios que funciona com o Git. As linhas de comando deste tutorial também são compatíveis com GitLab, Gerrit, Bitbucket e Codebase, para citar os mais conhecidos. Neste tutorial, vamos concentrar-nos no Github.

Instalação

Instalar o Git Bash: Isto permitirá que o Terminal do seu computador reconheça e execute os comandos Git que veremos mais tarde.

Também pode instalar o Git no Linux com o seguinte comando na consola :

sudo apt-get install git

Instalando o TortoiseGit: O TortoiseGit é uma extensão do Windows para utilizar os comandos Git graficamente através do Explorador de Ficheiros. As funções Git serão opções adicionais acessíveis ao clicar com o botão direito do rato em qualquer pasta.

Clonagem de um repositório

Uma vez instalado o Git, é necessário começar por clonar um repositório criado no Github. Quando o seu repositório do Github estiver pronto, abra o terminal de comandos e comece por criar o diretório no seu computador que irá receber o clone do repositório.

mkdir nom-de-repertoire
cd nom-de-repertoire

Em seguida, configura o Git com os seus identificadores (adapta o conteúdo):

git init git config --global user.name "VotrePrénom VOTRENOM"git config --global user.email "votremail@mail.com"

E acabamos por clonar o repositório num ficheiro :

git clone https://github.com/VotreRepository [NomRepertoire]

Download de um repositório de linha de comando no Linux

Para descarregar ficheiros de um repositório, é necessária uma chave de segurança (ou token) associada à sua conta github.

Criar uma chave SSH no github :

$ ssh-keygen -t ed25519 -C "your_email@example.com"

iniciar o ssh-agent e adicionar a chave ao ssh-agent

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_ed25519

Por fim, adicione a chave SSH à sua conta

Introduzir o seguinte comando para visualizar a tecla ” “

$ cat ~/.ssh/id_ed25519.pub

Copie o resultado do comando para as definições da sua conta github no menu Chaves SSH e GPG.

Depois de a chave ter sido gerada e associada à sua conta, pode introduzir o seguinte comando para descarregar o repositório

git clone git@github.com:<account_name>/<repo_name>.git

Atualização de alterações (add, commit, push e pull)

Depois de clonar o seu repositório no seu diretório, se tiver feito alterações no diretório, quer seja um novo ficheiro ou uma alteração a um ficheiro existente, terá agora de atualizar o repositório em linha, que manterá um registo das suas alterações:

git add NomDuFichier.extension
git commit -m "commentaire"

add adiciona um novo arquivo ou suas modificações ao repositório atual. Você pode fazer vários em sequência. O commit permite que você faça alterações no repositório, incluindo os arquivos que acabou de adicionar e as alterações feitas nos arquivos com o git add. Você pode adicionar (e isso é altamente recomendado) um comentário ao commit para especificar o que foi alterado, adicionado ou excluído. Isso facilitará a leitura do histórico de commits no repositório.

git push origin main

push é usado para fazer push do branch atual para o branch que você deseja direcionar no repositório remoto. Aqui, origin main especifica o push do branch principal (local) para o branch principal (origem). A partir de agora, você verá as alterações no seu repositório aparecerem no repositório on-line, juntamente com o commit e o respectivo comentário feito imediatamente antes. git add, git commit e git push são comandos complementares.

git pull origin main

pull descarrega e funde novos dados do repositório remoto no seu diretório. Isso atualizará seu diretório em relação ao repositório on-line com os últimos commits que foram enviados para ele. Também pode adicionar a opção -rebase antes do repositório e da origem, para que, em vez de fazer merge dos novos dados, faça rebase do seu diretório (mas nunca faça isto num repositório público).

Listas de comandos básicos

Segue-se uma lista não exaustiva de comandos Git que é útil conhecer:

git status

status mostra o estado dos ficheiros no diretório atual. Existem 3 estados diferentes:- Ficheiros não rastreados: ficheiros não versionados (que não foram adicionados e são novos);- Alterações a confirmar: modificações (adições, eliminações, alterações) carregadas na área de preparação (adicionar mas não confirmar) ou indexadas;- Alterações não preparadas para confirmação: modificações que não foram carregadas na área de preparação (ficheiros que já existem mas não foram adicionados ou confirmados).

git reset Nomdufichier.extension

reset cancela as alterações indexadas a um ficheiro.

git checkout -- Nomdufichier.extension

checkout é utilizado para cancelar alterações a um ficheiro que ainda não tenha sido indexado.

git log 

log mostra o histórico dos commits.

git rm Nomdufichier.extension 

rm é utilizado para indexar a eliminação de um ficheiro. Pode adicionar a opção -cached antes do nome do ficheiro para anular a eliminação do ficheiro.

git diff

diff é usado para exibir detalhes de modificações não indexadas. Você pode adicionar a opção – staged para modificações indexadas.

git remote

remote é usado para exibir a lista de todos os repositórios remotos do projeto (alguns projetos podem funcionar com diferentes repositórios remotos para um único projeto).

git remote add Nom https://github.com/VotreRepository

O remote add é uma alternativa ao git clone, mas enquanto o git clone copia o repositório on-line, aqui você adiciona um novo repositório ao lado de um que já existe no seu computador, no seu diretório.

git fetch origin

fetch recupera alterações de um repositório remoto (o nome do repositório geralmente é origin, mas você pode adaptá-lo para atender às suas necessidades).

Utilizar o Tortoise

Para aqueles que não têm vontade de escrever linhas de comando num terminal no Windows, pode utilizar o TortoiseGit para utilizar o Git graficamente.

Crie uma pasta vazia e clique com o botão direito do rato sobre ela. As opções do TortoiseGit aparecerão, dando-lhe acesso aos vários comandos Git:

Começamos por configurar o TortoiseGit clicando em Settings :

Para alterar o nome e o e-mail, clique em Edit global .gitconfig e introduza o seu nome e e-mail.

Pode então clonar um repositório clicando em Clonar :

Na primeira vez que clonar um repositório, poderão abrir-se janelas adicionais pedindo-lhe para se ligar à sua conta Github. Faça-o.

Para recuperar os dados, basta clicar em Pull. Aqui pode escolher de que ramo e de que repositório pretende obter os dados:

Para enviar as alterações efectuadas localmente, basta clicar em Commit. É aconselhável escrever um comentário, o nome do autor do commit e a data e hora. Também pode fazer Push ao mesmo tempo, utilizando a opção Commit&Push. Clique em Log para ver o histórico de commits:

Fontes

Filtros de medição com Arduino

Filtros de medição com Arduino

Em eletrónica, quando se trabalha com sinais eléctricos, tais como medições de sensores ou um sinal de áudio, é prática comum utilizar filtros. Estes filtros são utilizados para modificar estes sinais com vista a corrigi-los, analisá-los ou utilizá-los corretamente. A isto chama-se processamento de sinais.

Definição de sinal eletrónico

Um sinal é a representação da informação que passa através de um sistema. Um sinal eletrónico está fisicamente limitado em termos de precisão, velocidade e alcance. Pode também ser modificado por perturbações externas. Por exemplo, uma medição efectuada por um sensor contém geralmente uma perturbação que faz com que o valor do sensor varie em torno do valor medido. Esta perturbação é designada por ruído de medição e pode ter origem em campos electromagnéticos e na sensibilidade do sensor. Este ruído de medição deve ser negligenciado ou eliminado utilizando um filtro para obter um valor correto.

En noir, le signal. En rouge, le signal bruité

Em teoria, um sinal pode ter uma representação matemática simples como uma função sinusoidal com uma frequência e amplitude fixas. Na prática, um sinal pode ser descrito como uma sobreposição de sinais com diferentes frequências e amplitudes. Estes são os componentes espectrais.

Definição de filtro eletrónico

Em eletrónica, um filtro é um elemento que modifica os componentes espectrais de um sinal de entrada. Existem três famílias principais de filtros:

  • filtros analógicos passivos que utilizam componentes electrónicos passivos (resistências, condensadores, indutores)
  • filtros analógicos activos que utilizam componentes electrónicos passivos e activos (transístor, amplificador operacional, circuito integrado)

Com sinais analógicos, como a medição de um sensor ou um sinal de áudio, é comum encontrar filtros analógicos passivos ou activos. Passivos para filtrar o ruído da medição; activos para amplificar o sinal. Uma vez montado o circuito que efectua a filtragem, a função de filtragem não pode ser modificada.

  • filtros digitais produzidos através de um processador e de um programa informático

Os filtros digitais são geridos por um código informático, pelo que não são fixos. São frequentemente utilizados para tratar e analisar dados, a fim de realçar determinadas características (cores numa imagem, frequência dominante de um sinal, etc.).

Tipos de filtros

Dissemos que um filtro modifica os componentes espectrais de um sinal. Por outras palavras, amplifica, suprime ou atenua um sinal numa determinada frequência. Os filtros podem ser de diferentes tipos, consoante a sua função:

  • passa-baixo: para atenuar as frequências altas
  • passa-alto: para eliminar as frequências baixas
  • passa-banda: para passar uma gama de frequências
  • notch: para atenuar uma gama de frequências

Função de filtro

Os filtros electrónicos são utilizados em muitos sistemas electrónicos e são frequentemente necessários para que o sistema funcione corretamente. Um filtro permite:

  • limpar para obter uma melhor leitura do sinal
  • remover um componente numa frequência indesejável porque é parasita ou interfere com o sistema
  • corrigir para obter um sinal coerente

Exemplo de filtros analógicos

Os filtros analógicos encontram-se frequentemente em sistemas electrónicos audiovisuais. Imagine um rádio em que pode aumentar os agudos ou os graves.

Exemplo de filtros digitais com Arduino

Depois destas definições, eis alguns exemplos comuns de processamento de sinais com o Arduino

Este filtro é utilizado para suprimir o ruído de transição num sinal digital, como a deteção da pressão de um botão de pressão.

O algoritmo de média deslizante é uma forma fácil de criar um filtro passa-baixo e eliminar o ruído.

Fontes

Instalar o IDE PlatformIO no Visual Studio Code

Instalar o IDE PlatformIO no Visual Studio Code

Neste tutorial, vamos configurar o Visual Studio Code para que ele possa executar o C

Hardware

  • Computador
  • Placa Arduino UNO ou outra
  • Cabo USB para ligar a placa Arduino ao PC

Instalação do Visual Studio Code e do IDE PlatformIO

Siga os passos de instalação para descarregar o .Net 6.0

Em seguida, abra o Visual Studio Code.

Procure o IDE PlatformIO no separador “Extensões” na coluna da esquerda do Visual Studio Code e clique em “instalar”.

Depois de instalado, feche e reinicie o Visual Studio Code para que o software seja configurado corretamente com o IDE PlatformIO. Em seguida, você deve ser levado para a página inicial do IDE.

Iniciar o seu primeiro projeto em C com o PlatformIO IDE

Para o fazer, clique em “+ Novo projeto” e preencha a janela que aparece.

Aqui, como exemplo, escolhi uma placa Arduino Uno e a estrutura também será do tipo Arduino, o que significa que as funções setup() e loop() se encontrarão no ficheiro principal. A criação de um projeto pode demorar algum tempo.

No lado esquerdo do nosso espaço de trabalho do projeto, verá várias subpastas. A pasta “src” contém os scripts de origem do projeto, incluindo o ficheiro principal “main.cpp”, no qual vamos escrever o nosso script para programar a nossa placa Arduino Uno. Nesta estrutura pré-construída do Arduino, notará que no cabeçalho do programa a linha de comando “

Introdução a um programa C no PlatformIO IDE

Para testar o seu primeiro projeto C no IDE PlatformIO, carregará um pequeno programa para fazer piscar um LED na placa Arduino Uno e obterá feedback sobre o estado do LED através da ligação série no terminal do Visual Studio Code.

// Ici dans l'entête du programme, on inclut les librairies et prototypes de fonctions nécessaires
#include <Arduino.h>

// Ici on met nos initialisations
void setup() 
{ 
    Serial.begin(9600); //ouverture pour communiquer via le port série
    pinMode(13, OUTPUT); //On initialise le pin 13 qui est associé à la LED en sortie pour pouvoir l'allumer et l'éteindre
} //Fin de la fonction setup()

// Ici dans la fonction loop on vient placer le script qui se répètera en boucle dans l'Arduino
void loop() 
{
  digitalWrite(13,HIGH); //Place le pin digital 13 à l'état HAUT (5V) -> Led allumée
  Serial.println("Led allumée");//Nous renvoie par la liaison série l'état de la Led Allumé
  delay(500); //Met en pause le programme pendant la valeur de 500 en ms

  digitalWrite(13,LOW); //Place le pin digital 13 à l'état BAS (0V) -> Led éteinte
   Serial.println("Led éteinte");//Nous renvoie par la liaison série l'état de la Led éteinte
  delay(500); //Met en pause le programme pendant la valeur de 500 en ms
} // Fin de la fonction

Depois de ter copiado e colado o seu programa, pode carregá-lo. Para carregar o programa, existem atalhos que podem ser activados clicando neles na parte inferior do Studio Visual Code :

  1. compilar o programa ;
  2. compilar, limpar e descarregar o programa para a placa Arduino (a porta USB utilizada é detectada automaticamente);
  3. limpe o Terminal e o cartão do microcontrolador ligado (apague o script nele gravado);
  4. testar o programa ;
  5. abrir um monitor para a ligação série e receber (ou enviar) dados da placa. Quando este “Monitor Série” está aberto, é impossível carregar um programa. Por isso, antes de carregar um novo programa, é necessário fechar o monitor clicando uma vez no terminal e depois premindo Ctrl + C ;
  6. Abre um terminal.

Depois de ter clicado em carregar, deve obter um retorno num terminal a confirmar que a compilação e o carregamento foram bem sucedidos, com o seguinte aspeto:

Em seguida, clique no comando para abrir um Monitor e estabelecer o link serial.

Em seguida, você pode observar o feedback do status do LED ao vivo no monitor.

Como instalar uma biblioteca externa no Visual Studio Code para o IDE PlatformIO

É tudo o que há para fazer. Primeiro, descarregue a sua biblioteca externa. Quando tiver um ficheiro .zipp, tem de o extrair (ou copiar e colar da pasta da biblioteca não comprimida) para essa pasta (neste caso, a biblioteca que vamos utilizar como exemplo é a ServoLib, que é utilizada para facilitar o controlo de servomotores):

Pode aceder à pasta “lib” do seu projeto, concebida para alojar bibliotecas externas, através do Visual Studio Code.

Depois de uma biblioteca ter sido instalada no seu projeto, é necessário incluí-la no cabeçalho do programa, tal como :

Agora tem todas as noções básicas necessárias para começar a utilizar o IDE PlatformIO para programar em C.

Aprender a programar em C#

Aprender a programar em C#

Neste tutorial, vamos configurar o Visual Studio Code para que ele possa executar o C# scripts.

Instalando o Visual Studio Code

Instalar o .Net 6.0

Em seguida, abra o Visual Studio Code

Instalar a extensão C#

Verificar se o .NET está instalado no terminal

dotnet --version

Criar uma aplicação de consola

Criar um novo projeto .NET

dotnet new console -o app
cd app
code .

Seleccione Sim para adicionar a configuração de compilação e depuração

Executar o script C#

Para executar o código C#

dotnet run

Ou seleccione Executar > Iniciar depuração (F5)

Adicionar bibliotecas

Para adicionar bibliotecas, pode introduzir o seguinte comando, substituindo pelo nome do pacote que pretende instalar

dotnet add package  

como opção, pode selecionar a versão que pretende instalar (por exemplo, 1.0.0)

dotnet add package   --version 

Criar uma interface gráfica

É possível criar uma interface gráfica com C#

Introduza o seguinte comando para criar um novo projeto winforms (apenas Windows)

dotnet new winforms -o appgui
cd appgui
code .

O código do Visual Studio criará vários ficheiros para definir uma interface gráfica. Pode modificar estes três ficheiros para desenvolver a sua interface. Vamos ver um exemplo simples com uma etiqueta e um botão.

  • Form1Designer.cs

Este ficheiro contém a definição gráfica de cada componente da interface e a sua posição.

Neste exemplo, definimos uma etiqueta e um botão contidos numa caixa de grupo.

N.B.: Para cada elemento, é necessário

  • declare-o: private System.Windows.Forms.Label label1;
  • criar uma instância this.label1 = new System.Windows.Forms.Label();
  • definir os parâmetros (se necessário) this.label1.Text = “Hello world!
  • colocá-lo num contentor this.grpbox.Controls.Add(this.label1);
namespace appgui;

partial class Form1
{
    /// <summary>
    ///  Required designer variable.
    /// </summary>
    private System.ComponentModel.IContainer components = null;

    /// <summary>
    ///  Clean up any resources being used.
    /// </summary>
    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Windows Form Designer generated code

    /// <summary>
    ///  Required method for Designer support - do not modify
    ///  the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
        this.components = new System.ComponentModel.Container();
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(400, 250);
        this.Text = "Form1";

        // components
        this.label1 = new System.Windows.Forms.Label();
        this.button1 = new System.Windows.Forms.Button();
        this.grpbox = new System.Windows.Forms.GroupBox();

        // label1
        this.label1.AutoSize = true;
        this.label1.Location = new System.Drawing.Point(50, 50);
        this.label1.Name = "label1";
        this.label1.Size = new System.Drawing.Size(50, 10);
        this.label1.TabIndex = 3;
        this.label1.Text = "Hello world!";
        //button1
        this.button1.Location = new System.Drawing.Point(50, 70);
        this.button1.Name = "button1";
        this.button1.Size = new System.Drawing.Size(50, 20);
        this.button1.TabIndex = 0;
        this.button1.Text = "Click!";
        this.button1.UseVisualStyleBackColor = true;
        this.button1.Click += new System.EventHandler(this.button1_Click);

        //grpbox
        this.grpbox.Controls.Add(this.label1);
        this.grpbox.Controls.Add(this.button1);
        this.grpbox.Location = new System.Drawing.Point(10, 10);
        this.grpbox.Name = "grpbox";
        this.grpbox.Size = new System.Drawing.Size(380, 230);
        this.grpbox.TabIndex = 0;
        this.grpbox.TabStop = false;
        this.grpbox.Text = "Group Box";
        
        //layout
        this.Controls.Add(this.grpbox);
        
    }

    private System.Windows.Forms.Label label1;
    private System.Windows.Forms.GroupBox grpbox;
    private System.Windows.Forms.Button button1;

    #endregion
}
  • Form1.cs

Este ficheiro define a forma como os componentes irão reagir.

Neste exemplo, quando o botão é premido, é apresentada uma mensagem numa nova janela

namespace appgui;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Button cliked");
    }
}
  • Programa.cs

Este ficheiro é utilizado para lançar a aplicação. Não deve ser necessário modificar este ficheiro imediatamente.

namespace appgui;

static class Program
{
    /// <summary>
    ///  The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        // To customize application configuration such as set high DPI settings or default font,
        // see https://aka.ms/applicationconfiguration.
        ApplicationConfiguration.Initialize();
        Application.Run(new Form1());
    }    
}

Se executar o código e premir o botão, deverá obter o seguinte resultado

Fontes