C# - Criando um projeto Windows Forms no .NET Core 5.0
Hoje vamos criar nossa primeira aplicação Windows Forms no .NET 5.0. |
O Windows Forms não morreu e esta mais vivo que nunca.
A prova disso é que podemos criar projetos Windows Forms
no .NET 5.0 usando praticamente os mesmos recursos que no
.NET Framework. Só tem um detalhe : as
aplicações só rodam no ambiente Windows.
A título de exemplo vamos criar uma aplicação Windows Forms bem simples que vai usar apenas controles básicos como Label, TextBox e que vai pegar o texto HTML a partir de uma URL informada e exibir em um TextBox.
Para acompanhar o exemplo você terá que atualizar os seguintes recursos:
Antes de iniciar a criação do projeto é bom acionar o menu Tools e em Options selecionar Environment e a seguir Preview Features e marcar a opção : Use preview Windows Forms designer for .NET Core apps
Criando o projeto Windows Forms
A seguir podemos abrir o Visual Studio 2019 Community e clicar em Create New Project;
E seleciona a opção de template : Windows FOrms App(.NET)
Na próxima janela informe um nome para a aplicação : WinForm_NetCore1 escolha o local e clique em Create.
A seguir na janela de propriedades do projeto na guia Application defina o Target Framework para .NET 5.0.
Pronto agora podemos criar o nosso projeto.
No formulário Form1.cs inclua os controles com as respectivas propriedades definidas:
A seguir inclua o código a seguir em cada evento descrito:
1 - Form_Load
Atribui a url padrão à caixa de texto txtUrl
private void Form1_Load(object
sender, EventArgs e) { txtUrl.Text = "http://www.macoratti.net"; } |
2- menuStrip1_ItemClicked
Abre o menu de diálogo para encerrar a aplicação e fechar a janela
private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
string message = "Deseja encerrar esta aplicação ?";
string title = "Fechar janela";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result = MessageBox.Show(message, title, buttons, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
this.Close();
}
}
|
3- btnOK_Clicked
Verifica URL informada e obtém os dados da URL e exibe na caixa de texto
private void btnOK_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtUrl.Text))
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(txtUrl.Text);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = null;
if (String.IsNullOrWhiteSpace(response.CharacterSet))
readStream = new StreamReader(receiveStream);
else
readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
string data = readStream.ReadToEnd();
txtResultado.Text = data;
response.Close();
readStream.Close();
}
}
else
{
MessageBox.Show("INforme a URL de destino...");
}
}
|
Simples assim...
Executando o projeto teremos:
Pegue o projeto aqui : WinForm_NetCore1.zip (sem as referências)
"Mas, não vos alegreis porque se vos sujeitem os
espíritos; alegrai-vos antes por estarem os vossos nomes escritos nos céus."
Lucas 10:20
Referências: