C# 和 XAML 实现简单计算器应用 - 代码示例
以下是一个使用 C# 和 XAML 实现的简单计算器应用示例:\n\nMainWindow.xaml:\n\nxaml\n<Window x:Class="CalculatorApp.MainWindow"\n        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\n        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"\n        Title="Calculator" Height="350" Width="250">\n    <Grid>\n        <TextBox x:Name="resultTextBox" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="10" Height="50" Text="{Binding Result}" IsReadOnly="True" FontSize="20" TextAlignment="Right"/>\n\n        <Grid Grid.Row="1" Margin="10">\n            <Grid.ColumnDefinitions>\n                <ColumnDefinition Width="*"/>\n                <ColumnDefinition Width="*"/>\n                <ColumnDefinition Width="*"/>\n                <ColumnDefinition Width="*"/>\n            </Grid.ColumnDefinitions>\n            <Grid.RowDefinitions>\n                <RowDefinition Height="*"/>\n                <RowDefinition Height="*"/>\n                <RowDefinition Height="*"/>\n                <RowDefinition Height="*"/>\n                <RowDefinition Height="*"/>\n            </Grid.RowDefinitions>\n            \n            <Button x:Name="btn1" Grid.Row="1" Grid.Column="0" Content="1" Click="Number_Click"/>\n            <Button x:Name="btn2" Grid.Row="1" Grid.Column="1" Content="2" Click="Number_Click"/>\n            <Button x:Name="btn3" Grid.Row="1" Grid.Column="2" Content="3" Click="Number_Click"/>\n            <Button x:Name="btnAdd" Grid.Row="1" Grid.Column="3" Content="+" Click="Operator_Click"/>\n            \n            <Button x:Name="btn4" Grid.Row="2" Grid.Column="0" Content="4" Click="Number_Click"/>\n            <Button x:Name="btn5" Grid.Row="2" Grid.Column="1" Content="5" Click="Number_Click"/>\n            <Button x:Name="btn6" Grid.Row="2" Grid.Column="2" Content="6" Click="Number_Click"/>\n            <Button x:Name="btnSubtract" Grid.Row="2" Grid.Column="3" Content="-" Click="Operator_Click"/>\n            \n            <Button x:Name="btn7" Grid.Row="3" Grid.Column="0" Content="7" Click="Number_Click"/>\n            <Button x:Name="btn8" Grid.Row="3" Grid.Column="1" Content="8" Click="Number_Click"/>\n            <Button x:Name="btn9" Grid.Row="3" Grid.Column="2" Content="9" Click="Number_Click"/>\n            <Button x:Name="btnMultiply" Grid.Row="3" Grid.Column="3" Content="*" Click="Operator_Click"/>\n            \n            <Button x:Name="btn0" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Content="0" Click="Number_Click"/>\n            <Button x:Name="btnDecimal" Grid.Row="4" Grid.Column="2" Content="." Click="Decimal_Click"/>\n            <Button x:Name="btnDivide" Grid.Row="4" Grid.Column="3" Content="/" Click="Operator_Click"/>\n            \n            <Button x:Name="btnClear" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" Content="C" Click="Clear_Click"/>\n            <Button x:Name="btnEquals" Grid.Row="5" Grid.Column="2" Grid.ColumnSpan="2" Content="=" Click="Equals_Click"/>\n        </Grid>\n    </Grid>\n</Window>\n\n\nMainWindow.xaml.cs:\n\ncsharp\nusing System;\nusing System.Windows;\n\nnamespace CalculatorApp\n{\n    public partial class MainWindow : Window\n    {\n        private string currentNumber = "";\n        private string selectedOperator = "";\n        private double result = 0;\n\n        public MainWindow()\n        {\n            InitializeComponent();\n            DataContext = this;\n        }\n\n        public string Result { get; set; }\n\n        private void Number_Click(object sender, RoutedEventArgs e)\n        {\n            Button button = sender as Button;\n            currentNumber += button.Content.ToString();\n            Result = currentNumber;\n        }\n\n        private void Operator_Click(object sender, RoutedEventArgs e)\n        {\n            Button button = sender as Button;\n            selectedOperator = button.Content.ToString();\n            result = double.Parse(currentNumber);\n            currentNumber = "";\n        }\n\n        private void Decimal_Click(object sender, RoutedEventArgs e)\n        {\n            if (!currentNumber.Contains("."))\n            {\n                currentNumber += ".";\n            }\n        }\n\n        private void Clear_Click(object sender, RoutedEventArgs e)\n        {\n            currentNumber = "";\n            selectedOperator = "";\n            result = 0;\n            Result = "";\n        }\n\n        private void Equals_Click(object sender, RoutedEventArgs e)\n        {\n            double secondNumber = double.Parse(currentNumber);\n            switch (selectedOperator)\n            {\n                case "+":\n                    result += secondNumber;\n                    break;\n                case "-":\n                    result -= secondNumber;\n                    break;\n                case "*":\n                    result *= secondNumber;\n                    break;\n                case "/":\n                    result /= secondNumber;\n                    break;\n            }\n            Result = result.ToString();\n            currentNumber = "";\n            selectedOperator = "";\n        }\n    }\n}\n\n\n在这个示例中,我们使用一个TextBox来显示计算结果,并使用Button元素来输入数字和操作符。当点击数字按钮时,我们将数字添加到当前输入的数字字符串中,并将其显示在TextBox中。当点击操作符按钮时,我们将当前输入的数字转换为double类型,并将其保存为结果。当点击等号按钮时,我们根据当前选择的操作符对结果进行计算,并将结果显示在TextBox中。点击清除按钮时,我们将所有变量重置为初始状态。\n\n这只是一个简单的计算器应用示例,可以根据需求进行扩展和改进。
原文地址: https://www.cveoy.top/t/topic/pulF 著作权归作者所有。请勿转载和采集!