Wade_ 发表于 2013-1-4 01:17:57

我的第一个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]
查看完整版本: 我的第一个Windows Phone7程序----------一个简单的计算器