用vs2019制作简易计算器

这次的实验内容主要是熟悉一下vs的使用,制作计算器的逻辑结构并不难,主要是对新环境的熟悉。
一、vs2019的安装和新项目的创立
1.安装的网址https://visualstudio.microsoft.com/zh-hans/
2.开始创建新项目
在这里插入图片描述
依次选择C#,Windows,所有项目类型,向下找到并勾选Windows窗体应用。
在这里插入图片描述

如果没有的话去安装多个工具和功能里找Windows那一个下载
在这里插入图片描述
在这里插入图片描述
没问题后点击配置新项目,选择合适的名称和位置创建。
在这里插入图片描述
在这里插入图片描述
二、界面的建立
1.可以调一下工具箱的位置让它停靠固定。
在这里插入图片描述
2.我们主要用的按钮就两个,Button和TextBox
在这里插入图片描述
3.直接双击对Button和TextBox进行拖拽到合适的位置即可
在这里插入图片描述

4.选中一个控件右击属性后在右边即可对其进行各种属性的更改,其中,Text处可以更改控件里的内容。
在这里插入图片描述

在这里插入图片描述
5.注意,button的名字可以更改,要与控件上的内容相对应,这样有助于写代码时方便
在这里插入图片描述

6.在右上角处可对控件的间隔间距进行调节,注意!调节的时候要一行一列的看清楚再调节在这里插入图片描述7.最终的界面显示。在这里插入图片描述

8.双击控件进行代码输入,千万不要随便更改它给的代码内容!

三、最终代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Calculator
{
	public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();
		}
        Double LeftNum, RightNum, Result;
        String Flag;


        private void button8_Click(object sender, EventArgs e)
        {
            textBox1.Text += "8";
        }
        private void button3_Click(object sender, EventArgs e)
        {
            textBox1.Text += "3";
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            textBox1.Text += "1";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text += "2";
        }

        private void button4_Click(object sender, EventArgs e)
        {
            textBox1.Text += "4";
        }

        private void button5_Click(object sender, EventArgs e)
        {
            textBox1.Text += "5";
        }

        private void button6_Click(object sender, EventArgs e)
        {
            textBox1.Text += "6";
        }

        private void button7_Click(object sender, EventArgs e)
        {
            textBox1.Text += "7";
        }

        private void button9_Click(object sender, EventArgs e)
        {
            textBox1.Text += "9";
        }

        private void buttonequ_Click(object sender, EventArgs e)
        {
            RightNum= Convert.ToDouble(textBox1.Text);
            if (Flag == "+")
                Result = LeftNum + RightNum;
            else if (Flag == "-")
                Result = LeftNum - RightNum;
            else if (Flag == "*")
                Result = LeftNum * RightNum;
            else if (Flag == "/")
                Result = LeftNum / RightNum;
            else if (Flag == "%")
                Result = LeftNum / 100;
            textBox1.Text = Result.ToString();
        }

        private void buttonminus_Click(object sender, EventArgs e)
        {
            LeftNum = Convert.ToDouble(textBox1.Text);
            Flag = "-";
            textBox1.Text = "";


        }

        private void buttonmul_Click(object sender, EventArgs e)
        {
            LeftNum = Convert.ToDouble(textBox1.Text);
            Flag = "*";
            textBox1.Text = ""; 
        }

        private void buttondiv_Click(object sender, EventArgs e)
        {
            LeftNum = Convert.ToDouble(textBox1.Text);
            Flag = "/";
            textBox1.Text = "";

        }

        private void buttonclear_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            
        }

        private void buttonpoi_Click(object sender, EventArgs e)
        {
            textBox1.Text += ".";
        }

        private void buttondel_Click(object sender, EventArgs e)
        {
            String str1 = textBox1.Text;
            if(str1.Length!=0)
            {
                textBox1.Text = str1.Substring(0, str1.Length - 1);
            }
            
        }

        private void buttonper_Click(object sender, EventArgs e)
        {
            LeftNum = Convert.ToDouble(textBox1.Text);
            Flag = "%";
        }

        private void button0_Click(object sender, EventArgs e)
        {
            textBox1.Text += "0";
        }

        private void buttonadd_Click(object sender, EventArgs e)
        {
            LeftNum = Convert.ToDouble(textBox1.Text);
            Flag = "+";
            textBox1.Text = "";


        }
    }
}


  • 30
    点赞
  • 146
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
好的,我可以为您提供一些指导。 首先,在Visual Studio中创建一个新的WPF项目。在项目中添加一个Grid控件,然后在Grid中添加一些按钮、文本框和标签,这些将组成我们的计算器界面。 接下来,需要编写一些代码来处理按钮的点击事件。您可以为每个数字、运算符和清除按钮添加一个Click事件处理程序,并在其中编写相应的代码。 例如,对于数字按钮,您可以在Click事件处理程序中获取该按钮上的数字,然后将其添加到文本框中。对于运算符按钮,您可以在Click事件处理程序中获取当前文本框中的数字和运算符,在执行计算后将结果显示在文本框中。 最后,您可以添加一些样式和布局来美化您的计算器界面,使其更加用户友好。 以下是一个简单的示例,演示如何在WPF中创建一个简单的计算器。 ```xml <Window x:Class="Calculator.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Calculator" Height="350" Width="350"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <TextBox x:Name="ResultText" Grid.Row="0" Margin="5" Text="0" IsReadOnly="True"/> <Button x:Name="ClearButton" Grid.Row="1" Margin="5" Content="C" Width="50" Height="50" Click="ClearButton_Click"/> <Button x:Name="PlusMinusButton" Grid.Row="1" Margin="5,0,0,0" Content="+/-" Width="50" Height="50" Click="PlusMinusButton_Click"/> <Button x:Name="PercentButton" Grid.Row="1" Margin="5,0,0,0" Content="%" Width="50" Height="50" Click="PercentButton_Click"/> <Button x:Name="DivideButton" Grid.Row="1" Margin="60,0,0,0" Content="/" Width="50" Height="50" Click="OperatorButton_Click"/> <Button x:Name="SevenButton" Grid.Row="2" Margin="5" Content="7" Width="50" Height="50" Click="NumberButton_Click"/> <Button x:Name="EightButton" Grid.Row="2" Margin="5,0,0,0" Content="8" Width="50" Height="50" Click="NumberButton_Click"/> <Button x:Name="NineButton" Grid.Row="2" Margin="5,0,0,0" Content="9" Width="50" Height="50" Click="NumberButton_Click"/> <Button x:Name="MultiplyButton" Grid.Row="2" Margin="60,0,0,0" Content="*" Width="50" Height="50" Click="OperatorButton_Click"/> <Button x:Name="FourButton" Grid.Row="3" Margin="5" Content="4" Width="50" Height="50" Click="NumberButton_Click"/> <Button x:Name="FiveButton" Grid.Row="3" Margin="5,0,0,0" Content="5" Width="50" Height="50" Click="NumberButton_Click"/> <Button x:Name="SixButton" Grid.Row="3" Margin="5,0,0,0" Content="6" Width="50" Height="50" Click="NumberButton_Click"/> <Button x:Name="MinusButton" Grid.Row="3" Margin="60,0,0,0" Content="-" Width="50" Height="50" Click="OperatorButton_Click"/> <Button x:Name="OneButton" Grid.Row="4" Margin="5" Content="1" Width="50" Height="50" Click="NumberButton_Click"/> <Button x:Name="TwoButton" Grid.Row="4" Margin="5,0,0,0" Content="2" Width="50" Height="50" Click="NumberButton_Click"/> <Button x:Name="ThreeButton" Grid.Row="4" Margin="5,0,0,0" Content="3" Width="50" Height="50" Click="NumberButton_Click"/> <Button x:Name="PlusButton" Grid.Row="4" Margin="60,0,0,0" Content="+" Width="50" Height="50" Click="OperatorButton_Click"/> <Button x:Name="ZeroButton" Grid.Row="5" Margin="5" Content="0" Width="105" Height="50" Click="NumberButton_Click"/> <Button x:Name="DecimalButton" Grid.Row="5" Margin="5,0,0,0" Content="." Width="50" Height="50" Click="DecimalButton_Click"/> <Button x:Name="EqualsButton" Grid.Row="5" Margin="60,0,0,0" Content="=" Width="50" Height="50" Click="EqualsButton_Click"/> </Grid> </Window> ``` ```csharp public partial class MainWindow : Window { private double _result = 0; private string _operator = ""; private bool _isNewNumber = true; public MainWindow() { InitializeComponent(); } private void NumberButton_Click(object sender, RoutedEventArgs e) { Button button = (Button)sender; string number = button.Content.ToString(); if (_isNewNumber) { ResultText.Text = number; _isNewNumber = false; } else { ResultText.Text += number; } } private void OperatorButton_Click(object sender, RoutedEventArgs e) { Button button = (Button)sender; string newOperator = button.Content.ToString(); if (_operator != "") { double currentValue = double.Parse(ResultText.Text); _result = Calculate(_result, currentValue, _operator); ResultText.Text = _result.ToString(); } else { _result = double.Parse(ResultText.Text); } _operator = newOperator; _isNewNumber = true; } private void EqualsButton_Click(object sender, RoutedEventArgs e) { double currentValue = double.Parse(ResultText.Text); _result = Calculate(_result, currentValue, _operator); ResultText.Text = _result.ToString(); _operator = ""; _isNewNumber = true; } private void ClearButton_Click(object sender, RoutedEventArgs e) { ResultText.Text = "0"; _result = 0; _operator = ""; _isNewNumber = true; } private void PlusMinusButton_Click(object sender, RoutedEventArgs e) { double currentValue = double.Parse(ResultText.Text); currentValue *= -1; ResultText.Text = currentValue.ToString(); } private void PercentButton_Click(object sender, RoutedEventArgs e) { double currentValue = double.Parse(ResultText.Text); currentValue /= 100; ResultText.Text = currentValue.ToString(); } private void DecimalButton_Click(object sender, RoutedEventArgs e) { if (!_isNewNumber && !ResultText.Text.Contains(".")) { ResultText.Text += "."; } } private double Calculate(double firstNumber, double secondNumber, string operation) { double result = 0; switch (operation) { case "+": result = firstNumber + secondNumber; break; case "-": result = firstNumber - secondNumber; break; case "*": result = firstNumber * secondNumber; break; case "/": result = firstNumber / secondNumber; break; } return result; } } ``` 这个示例只是一个简单的计算器,您可以根据需要进行修改和扩展。希望这些提示对您有所帮助!
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值