Neste tutorial, vamos configurar o Visual Studio Code para que ele possa executar o C# scripts.
Instalando o Visual Studio Code
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