一个用WPF做的简单计算器源代码
一、界面设计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做的简单计算器源代码相关推荐
- C#/利用WPF窗口程序设计简单计算器
WPF设计简单计算器 本文中设计的计算器仅支持单次双目运算,可连续计算. 实验要求. 1.在wpf项目中编程实现一个简单计算器,具体要求如下: 1)实现+,-,*,/运算 2)可以连续进行计算. 效果 ...
- 求java简单计算器源代码_java简单计算器源代码
简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout ...
- andorid简单计算器java源码_Android之一个简单计算器源代码
通过Android4.0 网格布局GridLayout来实现一个简单的计算器界面布局 源码如下(欢迎大家指导 批评 ) package com.android.xiong.gridlayoutTe ...
- 简单计算器源代码1019C语言,C语言极简版计算器
用c写的简单的计算器 界面如下图所示: 感兴趣可点击下载: 源代码如下: #include "stdafx.h" #include #include #include " ...
- Android之一个简单计算器源代码
通过Android4.0 网格布局GridLayout来实现一个简单的计算器界面布局 源码如下(欢迎大家指导 批评 ) https://github.com/xionglihui 源码下载地址:
- 编译原理公式计算器C语言,编译原理课程设计-简单计算器实现.doc
编译原理课程设计-简单计算器实现 课程设计报告课程:编译原理学号:姓名:班级:11级嵌入式应用技术班教师:时间:2014年6月计算机科学与技术系 设计名称:简单计算器的实现设计内容.目的与要求:设计内 ...
- 使用Qt做一个简单计算器
title: Calculator date: 2022-09-04 11:10:12 tags: [Qt, 应用, C++] typora-root-url: Calculator 使用Qt做一个简 ...
- 做一个简单计算器(两个数的加减乘除)扣扣116119409
做一个简单计算器(两个数的加减乘除) 一.语言和环境 a)实现语言Java b)环境要求Android Studio 二.要求: 1.可以清空,可以回退(一个一个回退): 2.按下去之后textvie ...
- c语言设计程序计算器,C语言程序设计,做一个简单计算器
题目: C语言程序设计,做一个简单计算器 程序内容有:加减乘除和平方,立方,开方等.用if或者swith结构来编程. 算加法时只输出加法的结果,算减法时只出减法的结果,如此类推. 解答: 已发送, # ...
最新文章
- VS+MFC+Opencv显示视频和图像。
- RSA2013系列(1):中国成为热点
- 根据div 标签 查看数组@class=modulwrap 下面的/table/tbody/tr/td
- linux下使用fread读socket套接字的注意点
- Windows 下安装 Redis 1
- UINavigationItem 设置UIBarButtonItem
- NavisWorks Api 简单使用与Gantt
- EasyAndroid基础集成组件库之:EasyPhoto (单张)图片选择库
- ab压力测试_使用ab来一次压力测试之旅
- MATLAB免疫算法与粒子群算法进行函数优化
- windows聚焦壁纸不更新_锁屏壁纸windows聚焦不更新?
- 如何解决出现问题,你的PIN不可用,单击以重新设置PIN
- 一键定位电脑弹出垃圾广告,屏蔽删除终止,windows神器!
- 小程序点击多个指定地方都能关闭弹框
- 【密码学探秘】EVM链和并行执行交易
- 爬了1000张清纯妹子私房照,我流鼻血了...
- HDU3527(杭电)spy问题
- RFID期末复习 四、五、六、七章节
- 笔记本出厂预装Win8改装Win7的操作步骤及常见问题
- 手机qq2008java通用版下载_【手机音乐】别被它的名字迷惑了,其实它是一款很良心的播放器兼无损下载器!...
热门文章
- 华科研究生复试机试题代码堆积供以后参考
- 智慧树python程序设计基础山东联盟期末答案_智慧树Python程序设计基础(山东联盟)期末答案...
- 抖音测试心理是什么软件,实用心理测试大全抖音版-抖音实用心理测试大全小游戏官方版预约 v1.0-友情手机站...
- mysql版本的索引类型_【mysql】索引 回表 覆盖索引 索引下推
- parent winform 位置_winform 弹出窗体指定位置
- python 新建一列_python – 如何处理列名称和创建新列
- 合并远程仓库到本地_Git工作区、暂存区、本地仓库和远程仓库科普
- 数据库事务和spring事务的区别
- RabbitMQ 消息确认机制 以及 原理解析
- 004_JSONArray对象公共方法