我的第一个Windows Phone7程序----------一个简单的计算器
<div id="cnblogs_post_body">*************************************
版权归作者和博客园共同所有,文章链接:http://www.cnblogs.com/Wade-/archive/2012/06/09/2543267.html
*************************************
近来闲来无事,便下了个WP SDK7.1,感觉和WPF和Metro开发很相似,这不 ,就写了一个简单的计算器:
http://pic002.cnblogs.com/images/2012/404689/2012060915562985.jpg
功能很简单,通过应用程序中的按钮实现加减乘除,暂不支持直接输入运算符。
代码不多,区区120行,在此悉数奉上:
code:
<div class="cnblogs_code" >http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttp://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gifView Code <div id="cnblogs_code_open_9b0b16da-8179-4e56-8b6f-83013198373a" class="cnblogs_code_hide">1 using System;2using System.Collections.Generic;3using System.Linq;4using System.Net;5using System.Windows;6using System.Windows.Controls;7using System.Windows.Documents;8using System.Windows.Input;9using System.Windows.Media; 10using System.Windows.Media.Animation; 11using System.Windows.Shapes; 12using Microsoft.Phone.Controls; 13 14namespace PhoneApp9 15 { 16 public partial class MainPage : PhoneApplicationPage 17 { 18 // 构造函数 19 public MainPage() 20 { 21 InitializeComponent(); 22 } 23 24 public double Num1; 25 yunSuanFu yunsuanfu = 0; 26 bool isinput = false; 27 double numresult; 28 public enum yunSuanFu:int 29 { 30 jia=1, 31 jian=2, 32 cheng=3, 33 chu=4 34 } 35 /// <summary> 36 /// 计算数据 37 /// </summary> 38 /// <param name="num1">参数1</param> 39 /// <param name="num2">参数2</param> 40 /// <param name="yunsuanfu">运算类型</param> 41 /// <returns></returns> 42 private double jisuan(double num1,double num2, yunSuanFu yunsuanfu) 43 { 44 double result; 45 switch (yunsuanfu) 46 { 47 case yunSuanFu.jia: 48 { 49 result = num1 + num2; 50 break; 51 } 52 case yunSuanFu.jian: 53 { 54 result = num1 - num2; 55 break; 56 } 57 case yunSuanFu.cheng: 58 { 59 result = num1 * num2; 60 break; 61 } 62 case yunSuanFu.chu: 63 { 64 result = num1 / num2; 65 break; 66 } 67 default: 68 { 69 result = 0; 70 break; 71 } 72 } 73 return result; 74 } 75 private void Button_Click(object sender, RoutedEventArgs e) 76 { 77 78 79 string text = ((Button)sender).Content.ToString(); 80 int number; 81 if (int.TryParse(text,out number) || text == ".") 82 { 83 if (isinput == false) 84 { 85 if (yunsuanfu != 0) 86 { 87 isinput = true; 88 showToText(""); 89 } 90 } 91 showcntent.Text += text; 92 } 93 else 94 { 95 yunsuanfu = getYunsuanfu(text); 96 double num1 = Num1; 97 double num2=Convert.ToDouble(showcntent.Text); 98 numresult = jisuan(num1, num2, yunsuanfu); 99 Num1 = numresult;100 showToText(numresult.ToString());101 isinput = false;102 }103 104105 }106 private void showToText(string text)107 {108 109 showcntent.Text = text;110 }111 /// <summary>112 /// 获取运算符113 /// </summary>114 /// <param name="text"></param>115 /// <returns></returns>116 private yunSuanFu getYunsuanfu(string text)117 {118 yunSuanFu yunsuanfu=0;119 switch (text)120 {121 case "+":122 {123 yunsuanfu = yunSuanFu.jia;124 break;125 }126 case "-":127 {128 yunsuanfu = yunSuanFu.jian;129 break;130131 }132 case "*":133 {134 yunsuanfu = yunSuanFu.cheng;135 break;136 }137 case "/":138 {139 yunsuanfu = yunSuanFu.chu;140 break;141 }142 }143 return yunsuanfu;144 145 }146 private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)147 {148 149 showcntent.Text = "";150 }151152 private void Button_Click_1(object sender, RoutedEventArgs e)153 {154 double num2 = Convert.ToDouble(showcntent.Text);155 numresult = jisuan(Num1, num2, yunsuanfu);156 showToText(numresult.ToString());157 }158 }159}
页:
[1]