Como Criar uma Calculadora em C# Semelhante à do Windows: Tutorial Completo
Se você está aprendendo C# e deseja criar algo prático e funcional, desenvolver uma calculadora semelhante à do Windows é um excelente exercício. Neste tutorial, mostrarei um exemplo funcional de uma calculadora com interface gráfica, utilizando o WPF (Windows Presentation Foundation). Este projeto é perfeito para quem quer aprimorar habilidades em desenvolvimento de aplicações desktop.
O Código
Abaixo estão as implementações para os arquivos necessários:
1. MainWindow.xaml
Este é o arquivo de layout, responsável pela interface da calculadora. Incluímos botões para números, operações básicas e outras funcionalidades, como raiz quadrada e inversão de sinal.
<Window x:Class="Calculadora.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Calculadora" Height="404" Width="426" Background="#FFEBE5E5" WindowStyle="ThreeDBorderWindow">
<Grid Width="358">
<Button Content="7" Height="28" HorizontalAlignment="Left" Margin="91,127,0,0" Name="sete" VerticalAlignment="Top" Width="37" Click="sete_Click" />
<TextBox Height="53" HorizontalAlignment="Right" Margin="0,34,54,0" Name="display" VerticalAlignment="Top" Width="213" FontFamily="Arial" FontSize="28" HorizontalContentAlignment="Right" />
<!-- Botões para números, operações e funcionalidades -->
</Grid>
</Window>
2. MainWindow.xaml.cs
Aqui está a lógica por trás da calculadora. Cada botão chama um método que realiza a operação correspondente. Por exemplo, ao clicar no botão "7", o número é exibido no display.
using System;
using System.Windows;
namespace Calculadora
{
public partial class MainWindow : Window
{
double acumula = 0;
string operacao = "";
public MainWindow()
{
InitializeComponent();
}
private void sete_Click(object sender, RoutedEventArgs e)
{
display.Text += "7";
}
private void soma_Click(object sender, RoutedEventArgs e)
{
acumula += double.Parse(display.Text);
display.Text = "";
operacao = "+";
}
private void igual_Click(object sender, RoutedEventArgs e)
{
if (operacao == "+")
{
acumula += double.Parse(display.Text);
display.Text = acumula.ToString();
}
}
// Outros métodos...
}
}
Nenhum comentário:
Postar um comentário
Obrigado por contribuir para melhorar este blog, deixe sua mensagem.
Forte Abraço