Kalkulator .NET MAUI w Visual Studio 2022
Kalkulator .NET MAUI w Visual Studio 2022
Otwórz Visual Studio 2022.
Wybierz Utwórz nowy projekt.
Wybierz .NET MAUI App i kliknij Dalej.
Nazwij projekt, np. SimpleCalculatorApp, i kliknij Utwórz.
Gdy projekt zostanie utworzony, otwórz plik MainPage.xaml, w którym zdefiniujemy wygląd interfejsu kalkulatora.
W pliku MainPage.xaml zbudujemy prosty interfejs kalkulatora, który będzie zawierał:
Dwa pola tekstowe (Entry) do wprowadzania liczb.
Cztery przyciski (Button) dla podstawowych operacji matematycznych.
Pole Label, które wyświetli wynik.
Kod MainPage.xaml
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="SimpleCalculatorApp.MainPage"
Title="Prosty Kalkulator">
<VerticalStackLayout Padding="20" Spacing="15" HorizontalOptions="Center" VerticalOptions="Center">
<!-- Pole tekstowe do wprowadzenia pierwszej liczby -->
<Entry x:Name="firstNumberEntry" Placeholder="Wprowadź pierwszą liczbę"
Keyboard="Numeric" HorizontalOptions="Fill" />
<!-- Pole tekstowe do wprowadzenia drugiej liczby -->
<Entry x:Name="secondNumberEntry" Placeholder="Wprowadź drugą liczbę"
Keyboard="Numeric" HorizontalOptions="Fill" />
<!-- Przycisk dodawania ze stałą szerokością -->
<Button Text="Dodaj" Clicked="OnAddButtonClicked" WidthRequest="150" />
<!-- Przycisk odejmowania ze stałą szerokością -->
<Button Text="Odejmij" Clicked="OnSubtractButtonClicked" WidthRequest="150" />
<!-- Przycisk mnożenia ze stałą szerokością -->
<Button Text="Pomnóż" Clicked="OnMultiplyButtonClicked" WidthRequest="150" />
<!-- Przycisk dzielenia ze stałą szerokością -->
<Button Text="Podziel" Clicked="OnDivideButtonClicked" WidthRequest="150" />
<!-- Pole do wyświetlenia wyniku -->
<Label x:Name="resultLabel" Text="Wynik: "
FontSize="Medium" TextColor="Black" HorizontalOptions="Center" />
</VerticalStackLayout>
</ContentPage>
W pliku MainPage.xaml.cs dodamy logikę do obsługi działań matematycznych.
Kod MainPage.xaml.cs
namespace SimpleCalculatorApp
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
// Obsługa dodawania
private void OnAddButtonClicked(object sender, EventArgs e)
{
if (TryGetNumbers(out double firstNumber, out double secondNumber))
{
double result = firstNumber + secondNumber;
resultLabel.Text = $"Wynik: {result}";
}
}
// Obsługa odejmowania
private void OnSubtractButtonClicked(object sender, EventArgs e)
{
if (TryGetNumbers(out double firstNumber, out double secondNumber))
{
double result = firstNumber - secondNumber;
resultLabel.Text = $"Wynik: {result}";
}
}
// Obsługa mnożenia
private void OnMultiplyButtonClicked(object sender, EventArgs e)
{
if (TryGetNumbers(out double firstNumber, out double secondNumber))
{
double result = firstNumber * secondNumber;
resultLabel.Text = $"Wynik: {result}";
}
}
// Obsługa dzielenia
private void OnDivideButtonClicked(object sender, EventArgs e)
{
if (TryGetNumbers(out double firstNumber, out double secondNumber))
{
if (secondNumber == 0)
{
resultLabel.Text = "Błąd: Nie można dzielić przez zero!";
}
else
{
double result = firstNumber / secondNumber;
resultLabel.Text = $"Wynik: {result}";
}
}
}
// Funkcja pomocnicza do pobierania liczb z pól tekstowych
private bool TryGetNumbers(out double firstNumber, out double secondNumber)
{
bool isFirstValid = double.TryParse(firstNumberEntry.Text, out firstNumber);
bool isSecondValid = double.TryParse(secondNumberEntry.Text, out secondNumber);
if (!isFirstValid || !isSecondValid)
{
resultLabel.Text = "Błąd: Wprowadź poprawne liczby!";
return false;
}
return true;
}
}
}
Funkcje dla przycisków (OnAddButtonClicked, OnSubtractButtonClicked, OnMultiplyButtonClicked, OnDivideButtonClicked):
Każda funkcja sprawdza, czy liczby są poprawnie wprowadzone (za pomocą TryGetNumbers).
Wykonuje odpowiednią operację matematyczną i wyświetla wynik w resultLabel.
TryGetNumbers:
Jest to funkcja pomocnicza, która pobiera wartości z pól firstNumberEntry i secondNumberEntry.
Wykorzystuje metodę double.TryParse, aby sprawdzić, czy tekst w polach można zamienić na liczbę.
Jeśli użytkownik wprowadzi niepoprawne dane, wyświetli się komunikat o błędzie („Wprowadź poprawne liczby!”).
Zwraca true, jeśli oba wpisy są poprawne, i false, jeśli są niepoprawne.
Obsługa dzielenia przez zero:
Funkcja OnDivideButtonClicked sprawdza, czy druga liczba wynosi 0.
Jeśli druga liczba to zero, wyświetlany jest komunikat o błędzie („Nie można dzielić przez zero!”), aby uniknąć błędu dzielenia przez zero.
Uruchom aplikację, klikając Start w Visual Studio.
Wprowadź liczby w polach tekstowych i przetestuj przyciski dodawania, odejmowania, mnożenia i dzielenia.
Spróbuj wprowadzić niepoprawne dane (np. litery zamiast liczb) lub dzielić przez zero, aby przetestować komunikaty błędów.