以下是一个简单的使用C#和XAML实现的计算器应用示例:

MainWindow.xaml:

<Window x:Class="CalculatorApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Calculator" Height="350" Width="250">
    <Grid>
        <TextBox x:Name="resultTextBox" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="10" Height="50" Text="{Binding Result}" IsReadOnly="True" FontSize="20" TextAlignment="Right"/>

        <Grid Grid.Row="1" Margin="10">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            
            <Button x:Name="btn1" Grid.Row="1" Grid.Column="0" Content="1" Click="Number_Click"/>
            <Button x:Name="btn2" Grid.Row="1" Grid.Column="1" Content="2" Click="Number_Click"/>
            <Button x:Name="btn3" Grid.Row="1" Grid.Column="2" Content="3" Click="Number_Click"/>
            <Button x:Name="btnAdd" Grid.Row="1" Grid.Column="3" Content="+" Click="Operator_Click"/>
            
            <Button x:Name="btn4" Grid.Row="2" Grid.Column="0" Content="4" Click="Number_Click"/>
            <Button x:Name="btn5" Grid.Row="2" Grid.Column="1" Content="5" Click="Number_Click"/>
            <Button x:Name="btn6" Grid.Row="2" Grid.Column="2" Content="6" Click="Number_Click"/>
            <Button x:Name="btnSubtract" Grid.Row="2" Grid.Column="3" Content="-" Click="Operator_Click"/>
            
            <Button x:Name="btn7" Grid.Row="3" Grid.Column="0" Content="7" Click="Number_Click"/>
            <Button x:Name="btn8" Grid.Row="3" Grid.Column="1" Content="8" Click="Number_Click"/>
            <Button x:Name="btn9" Grid.Row="3" Grid.Column="2" Content="9" Click="Number_Click"/>
            <Button x:Name="btnMultiply" Grid.Row="3" Grid.Column="3" Content="*" Click="Operator_Click"/>
            
            <Button x:Name="btn0" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Content="0" Click="Number_Click"/>
            <Button x:Name="btnDecimal" Grid.Row="4" Grid.Column="2" Content="." Click="Decimal_Click"/>
            <Button x:Name="btnDivide" Grid.Row="4" Grid.Column="3" Content="/" Click="Operator_Click"/>
            
            <Button x:Name="btnClear" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" Content="C" Click="Clear_Click"/>
            <Button x:Name="btnEquals" Grid.Row="5" Grid.Column="2" Grid.ColumnSpan="2" Content="=" Click="Equals_Click"/>
        </Grid>
    </Grid>
</Window>

MainWindow.xaml.cs:

using System;
using System.Windows;

namespace CalculatorApp
{
    public partial class MainWindow : Window
    {
        private string currentNumber = "";
        private string selectedOperator = "";
        private double result = 0;

        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;
        }

        public string Result { get; set; }

        private void Number_Click(object sender, RoutedEventArgs e)
        {
            Button button = sender as Button;
            currentNumber += button.Content.ToString();
            Result = currentNumber;
        }

        private void Operator_Click(object sender, RoutedEventArgs e)
        {
            Button button = sender as Button;
            selectedOperator = button.Content.ToString();
            result = double.Parse(currentNumber);
            currentNumber = "";
        }

        private void Decimal_Click(object sender, RoutedEventArgs e)
        {
            if (!currentNumber.Contains("."))
            {
                currentNumber += ".";
            }
        }

        private void Clear_Click(object sender, RoutedEventArgs e)
        {
            currentNumber = "";
            selectedOperator = "";
            result = 0;
            Result = "";
        }

        private void Equals_Click(object sender, RoutedEventArgs e)
        {
            double secondNumber = double.Parse(currentNumber);
            switch (selectedOperator)
            {
                case "+":
                    result += secondNumber;
                    break;
                case "-":
                    result -= secondNumber;
                    break;
                case "*":
                    result *= secondNumber;
                    break;
                case "/":
                    result /= secondNumber;
                    break;
            }
            Result = result.ToString();
            currentNumber = "";
            selectedOperator = "";
        }
    }
}

在这个示例中,我们使用一个TextBox来显示计算结果,并使用Button元素来输入数字和操作符。当点击数字按钮时,我们将数字添加到当前输入的数字字符串中,并将其显示在TextBox中。当点击操作符按钮时,我们将当前输入的数字转换为double类型,并将其保存为结果。当点击等号按钮时,我们根据当前选择的操作符对结果进行计算,并将结果显示在TextBox中。点击清除按钮时,我们将所有变量重置为初始状态。

这只是一个简单的计算器应用示例,可以根据需求进行扩展和改进

请用C#和xaml实现一个计算器应用

原文地址: http://www.cveoy.top/t/topic/hLfc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录