一、界面设计XAML代码

<Window x:Class="fengjisuanqi.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="我的简单计算器" Height="700" Width="480" ResizeMode="CanMinimize"><Grid Margin="0,0,0,0"><Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="3*"/><RowDefinition Height="*"/><RowDefinition Height="2*"/><RowDefinition Height="2*"/><RowDefinition Height="2*"/><RowDefinition Height="2*"/></Grid.RowDefinitions><!--<StackPanel Grid.Row="0" Grid.ColumnSpan="4" Margin="0"><TextBlock Name="gongshi" Height="Auto" Margin="0,10,0,0" Background="#FF5D4D4D" HorizontalAlignment="Right" FontSize="36" Width="470" Foreground="White"/><TextBlock Name="jiguo" Height="80" Margin="0" Background="#ff5d4d4d" HorizontalAlignment="Right" Width="470" FontSize="36" Foreground="White"></TextBlock></StackPanel>--><TextBlock Name="ss" Grid.Row="0" Grid.ColumnSpan="4" Width="470" Height="Auto" Margin="0,0,0,0" Background="#FF5D4D4D" HorizontalAlignment="Right" FontSize="36" Foreground="White"/><TextBlock Name="gongshi" Grid.Row="0" Grid.ColumnSpan="4" Height="Auto" Margin="0,0,0,0" Background="#FF5D4D4D" HorizontalAlignment="Right" FontSize="36" Foreground="White"/><TextBlock Name="jiguo" Grid.Row="0" Grid.ColumnSpan="4" Height="60" Margin="0" Background="#FF5D4D4D" HorizontalAlignment="Right" FontSize="36" Foreground="White"/><Button Content="7" FontSize="50" Grid.Row="2" Grid.Column="0" Click="Button_Click_1" Name="B7" /><Button Content="8" FontSize="50" Grid.Row="2" Grid.Column="1" Click="Button_Click_1" Name="B8" /><Button Content="9" FontSize="50" Grid.Row="2" Grid.Column="2" Click="Button_Click_1" Name="B9" /><Button Content="4" FontSize="50" Grid.Row="3" Grid.Column="0" Click="Button_Click_1" Name="B4" /><Button Content="5" FontSize="50" Grid.Row="3" Grid.Column="1" Click="Button_Click_1" Name="B5" /><Button Content="6" FontSize="50" Grid.Row="3" Grid.Column="2" Click="Button_Click_1" Name="B6" /><Button Content="1" FontSize="50" Grid.Row="4" Grid.Column="0" Click="Button_Click_1" Name="B1" /><Button Content="2" FontSize="50" Grid.Row="4" Grid.Column="1" Click="Button_Click_1" Name="B2" /><Button Content="3" FontSize="50" Grid.Row="4" Grid.Column="2" Click="Button_Click_1" Name="B3" /><Button Content="." FontSize="50" Grid.Row="5" Grid.Column="0" Click="Button_Click_1" Name="B" /><Button Content="0" FontSize="50" Grid.Row="5" Grid.Column="1" Click="Button_Click_1" Name="B0" /><Button Name="divide" FontSize="50" Content="/" Grid.Column="3" Grid.Row="2" Click="fuhao_Click_1"/><Button Name="Multiply" FontSize="50" Content="*" Grid.Column="3" Grid.Row="3" Click="fuhao_Click_1"/><Button Name="Minus" FontSize="50" Content="-" Grid.Column="3" Grid.Row="4" Click="fuhao_Click_1"/><Button Name="Add" FontSize="50" Content="+" Grid.Column="3" Grid.Row="5" Click="fuhao_Click_1"/><Button Name="result" FontSize="50" Grid.Column="2" Grid.Row="5" Click="result_Click_1" Content="="/><Button Name="del" FontSize="30" Grid.Column="3" Grid.Row="1" Content="CE" Click="del_Click_1" Background="#FFEE0E0E"/><Button Name="tuige" FontSize="30" Grid.Column="2" Grid.Row="1" Content="退格" Click="tuige_Click_1"/><Rectangle Name="rect" Grid.Row="1" Grid.ColumnSpan="2"><Rectangle.Fill><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="#FF9DA49F" Offset="0"/><GradientStop Color="White" Offset="1"/></LinearGradientBrush></Rectangle.Fill></Rectangle></Grid>
</Window>

二、效果图

三、后台逻辑代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;namespace fengjisuanqi
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{private string anxiazhi = "";private double resultnum = 0.0;public MainWindow(){InitializeComponent();}//运算方法private void OperationNum(string s){if (jiguo.Text != ""){switch (anxiazhi){case "": resultnum = double.Parse(jiguo.Text);anxiazhi = s;break;case "+": resultnum = resultnum + double.Parse(jiguo.Text);anxiazhi = s;break;case "-": resultnum = resultnum - double.Parse(jiguo.Text);anxiazhi = s;break;case "*": resultnum = resultnum * double.Parse(jiguo.Text);anxiazhi = s;break;case "/": if (double.Parse(jiguo.Text) != 0.0){resultnum = resultnum / double.Parse(jiguo.Text);}else{resultnum = 0.0;}anxiazhi = s;break;default: break;}}else{anxiazhi = s;}}private void Button_Click_1(object sender, RoutedEventArgs e){if (anxiazhi == "="){gongshi.Text = "";jiguo.Text = "";anxiazhi = "";resultnum = 0.0;}string s = ((Button)sender).Content.ToString();jiguo.Text = jiguo.Text + s;gongshi.Text = gongshi.Text + s;}//按运算符号的事件处理private void fuhao_Click_1(object sender, RoutedEventArgs e){if (anxiazhi == "="){gongshi.Text = jiguo.Text;anxiazhi = "";}string s = ((Button)sender).Content.ToString();//获得按钮文本内容gongshi.Text = gongshi.Text + s;OperationNum(s);jiguo.Text = "";}//按“=”号计算结果private void result_Click_1(object sender, RoutedEventArgs e){OperationNum("=");jiguo.Text = resultnum.ToString();}//清除操作private void del_Click_1(object sender, RoutedEventArgs e){jiguo.Text = "";gongshi.Text = "";anxiazhi = "";resultnum = 0.0;}//退格private void tuige_Click_1(object sender, RoutedEventArgs e){//获取字符串长度int le = jiguo.Text.Length;int le2 = gongshi.Text.Length;if (le > 1&&le2>1){jiguo.Text = jiguo.Text.Substring(0, le - 1);gongshi.Text = gongshi.Text.Substring(0, le2 - 1);}}}
}

转载于:https://www.cnblogs.com/fengshen/p/3278602.html

一个用WPF做的简单计算器源代码相关推荐

  1. C#/利用WPF窗口程序设计简单计算器

    WPF设计简单计算器 本文中设计的计算器仅支持单次双目运算,可连续计算. 实验要求. 1.在wpf项目中编程实现一个简单计算器,具体要求如下: 1)实现+,-,*,/运算 2)可以连续进行计算. 效果 ...

  2. 求java简单计算器源代码_java简单计算器源代码

    简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout ...

  3. andorid简单计算器java源码_Android之一个简单计算器源代码

    通过Android4.0 网格布局GridLayout来实现一个简单的计算器界面布局   源码如下(欢迎大家指导 批评 ) package com.android.xiong.gridlayoutTe ...

  4. 简单计算器源代码1019C语言,C语言极简版计算器

    用c写的简单的计算器 界面如下图所示: 感兴趣可点击下载: 源代码如下: #include "stdafx.h" #include #include #include " ...

  5. Android之一个简单计算器源代码

    通过Android4.0 网格布局GridLayout来实现一个简单的计算器界面布局   源码如下(欢迎大家指导 批评 ) https://github.com/xionglihui 源码下载地址:

  6. 编译原理公式计算器C语言,编译原理课程设计-简单计算器实现.doc

    编译原理课程设计-简单计算器实现 课程设计报告课程:编译原理学号:姓名:班级:11级嵌入式应用技术班教师:时间:2014年6月计算机科学与技术系 设计名称:简单计算器的实现设计内容.目的与要求:设计内 ...

  7. 使用Qt做一个简单计算器

    title: Calculator date: 2022-09-04 11:10:12 tags: [Qt, 应用, C++] typora-root-url: Calculator 使用Qt做一个简 ...

  8. 做一个简单计算器(两个数的加减乘除)扣扣116119409

    做一个简单计算器(两个数的加减乘除) 一.语言和环境 a)实现语言Java b)环境要求Android Studio 二.要求: 1.可以清空,可以回退(一个一个回退): 2.按下去之后textvie ...

  9. c语言设计程序计算器,C语言程序设计,做一个简单计算器

    题目: C语言程序设计,做一个简单计算器 程序内容有:加减乘除和平方,立方,开方等.用if或者swith结构来编程. 算加法时只输出加法的结果,算减法时只出减法的结果,如此类推. 解答: 已发送, # ...

最新文章

  1. VS+MFC+Opencv显示视频和图像。
  2. RSA2013系列(1):中国成为热点
  3. 根据div 标签 查看数组@class=modulwrap 下面的/table/tbody/tr/td
  4. linux下使用fread读socket套接字的注意点
  5. Windows 下安装 Redis 1
  6. UINavigationItem 设置UIBarButtonItem
  7. NavisWorks Api 简单使用与Gantt
  8. EasyAndroid基础集成组件库之:EasyPhoto (单张)图片选择库
  9. ab压力测试_使用ab来一次压力测试之旅
  10. MATLAB免疫算法与粒子群算法进行函数优化
  11. windows聚焦壁纸不更新_锁屏壁纸windows聚焦不更新?
  12. 如何解决出现问题,你的PIN不可用,单击以重新设置PIN
  13. 一键定位电脑弹出垃圾广告,屏蔽删除终止,windows神器!
  14. 小程序点击多个指定地方都能关闭弹框
  15. 【密码学探秘】EVM链和并行执行交易
  16. 爬了1000张清纯妹子私房照,我流鼻血了...
  17. HDU3527(杭电)spy问题
  18. RFID期末复习 四、五、六、七章节
  19. 笔记本出厂预装Win8改装Win7的操作步骤及常见问题
  20. 手机qq2008java通用版下载_【手机音乐】别被它的名字迷惑了,其实它是一款很良心的播放器兼无损下载器!...

热门文章

  1. 华科研究生复试机试题代码堆积供以后参考
  2. 智慧树python程序设计基础山东联盟期末答案_智慧树Python程序设计基础(山东联盟)期末答案...
  3. 抖音测试心理是什么软件,实用心理测试大全抖音版-抖音实用心理测试大全小游戏官方版预约 v1.0-友情手机站...
  4. mysql版本的索引类型_【mysql】索引 回表 覆盖索引 索引下推
  5. parent winform 位置_winform 弹出窗体指定位置
  6. python 新建一列_python – 如何处理列名称和创建新列
  7. 合并远程仓库到本地_Git工作区、暂存区、本地仓库和远程仓库科普
  8. 数据库事务和spring事务的区别
  9. RabbitMQ 消息确认机制 以及 原理解析
  10. 004_JSONArray对象公共方法