栏目:办事指南 人气:0 日期:2022-12-12
免费提供最新落户政策及一对一落户上海方案
留学生/应届生/非婚子女 落户上海咨询
先入正题吧! 1:创建wpf应用。我用的VS是2013! 2:创建wpf文件并且起名字! 3:起一条虚线 3:打开我们电脑基本的计算器,然后我们模仿他来做计算器吧! 4:在工具箱找到lable,把他拖进来。并且起一个名字!设置他的属性。 4:再然后在工具箱找到button按钮把他拖进来。并且帮他起名字,还有设置他的属性! 5:写完整的界面,按钮直接复制粘贴就可以的!下一步进行后台代码! 6:定义三个变量存放数据! 7:设置按钮0的点击事件!然后数字键复制粘贴就可以了! 8:设置符号键,给他赋值! 9:设置C按键清除所有!这个问了很多人才找到的C按键清除lable! 10:设置等于号按键促发加减乘除! 11:然后一个计算器完成了!下面是全部代码! namespaceLVcalculation { ??/// ??///MainWindow.xaml的交互逻辑 ??/// ??publicpartialclassMainWindow:Window ??{ ????stringnumber1=null,number2=null,flag=null;//第一个变量存放按下的第一个字符,第二个变量存放按下符号键的字符。第三个存放符号的字符! ????publicMainWindow左边()右边 ????{ ??????InitializeComponent左边()右边; ????} ????privatevoidbutton0_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"0"; ????????lable1.Content=number1; ??????} ??????else{ ????????number2=number2+"0"; ????????lable1.Content=number2; ??????? ??????} ????} ????privatevoidbutton1_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"1"; ????????lable1.Content=number1; ??????} ??????else ??????{ ????????number2=number2+"1"; ????????lable1.Content=number2; ??????} ????} ????privatevoidbutton2_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"2"; ????????lable1.Content=number1; ??????} ??????else ??????{ ????????number2=number2+"2"; ????????lable1.Content=number2; ??????} ????} ????privatevoidbutton3_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"3"; ????????lable1.Content=number1; ??????} ??????else ??????{ ????????number2=number2+"3"; ????????lable1.Content=number2; ??????} ????} ????privatevoidbutton4_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"4"; ????????lable1.Content=number1; ??????} ??????else ??????{ ????????number2=number2+"4"; ????????lable1.Content=number2; ??????} ????} ????privatevoidbutton5_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"5"; ????????lable1.Content=number1; ??????} ??????else ??????{ ????????number2=number2+"5"; ????????lable1.Content=number2; ??????} ????} ????privatevoidbutton6_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"6"; ????????lable1.Content=number1; ??????} ??????else ??????{ ????????number2=number2+"6"; ????????lable1.Content=number2; ??????} ????} ????privatevoidbutton7_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"7"; ????????lable1.Content=number1; ??????} ??????else ??????{ ????????number2=number2+"7"; ????????lable1.Content=number2; ??????} ????} ????privatevoidbutton8_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"8"; ????????lable1.Content=number1; ??????} ??????else ??????{ ????????number2=number2+"8"; ????????lable1.Content=number2; ??????} ????} ????privatevoidbutton9_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"9"; ????????lable1.Content=number1; ??????} ??????else ??????{ ????????number2=number2+"9"; ????????lable1.Content=number2; ??????} ????} ????privatevoidbuttonb_Click(objectsender,RoutedEventArgse) ????{ ??????flag="-"; ????} ????privatevoidbuttona_Click(objectsender,RoutedEventArgse) ????{ ??????flag="+"; ????} ????privatevoidbuttone_Click(objectsender,RoutedEventArgse) ????{ ??????flag="%"; ????} ????privatevoidbuttond_Click(objectsender,RoutedEventArgse) ????{ ??????flag="/"; ????} ????privatevoidbuttonc_Click(objectsender,RoutedEventArgse) ????{ ??????flag="*"; ????} ????privatevoidbuttoncc_Click(objectsender,RoutedEventArgse) ????{ ??????this.lable1.Content=""; ????} ????privatevoidbuttongg_Click(objectsender,RoutedEventArgse) ????{ ??????if(flag==null) ??????{ ????????number1=number1+"."; ????????lable1.Content=number1; ??????} ??????else{ ????????number2=number2+"."; ????????lable1.Content=number2; ??????? ??????} ????} ????privatevoidbuttonf_Click(objectsender,RoutedEventArgse) ????{ ??????switch(flag){ ????????case"+":lable1.Content=Convert.ToString(Convert.ToDouble(number1)+Convert.ToDouble(number2)); ??????????break; ????????case"-":lable1.Content=Convert.ToString(Convert.ToDouble(number1)-Convert.ToDouble(number2)); ??????????break; ????????case"*":lable1.Content=Convert.ToString(Convert.ToDouble(number1)*Convert.ToDouble(number2)); ??????????break; ????????case"/":lable1.Content=Convert.ToString(Convert.ToDouble(number1)/Convert.ToDouble(number2)); ??????????break; ????????case"%":lable1.Content=Convert.ToString(Convert.ToDouble(number1)%Convert.ToDouble(number2)); ??????????break; ??????} ??????number1=null; ??????number2=null; ??????flag=null; ????} ??} } 12:还有一种方法写!注意这个方法的是用textbox,不是用lable。 13:下面是这个的全部代码! ????xmlns="" ????xmlns:x="" ????Title="为什么我写的计算器这么多bug"Height="350"MaxHeight="350"MinHeight="350"Width="525"MaxWidth="525"MinWidth="525" ????> ?? ????? ???? ?????? ?????? ?????? ?????? ?????? ?????? ???? ???? ?????? ?????? ?????? ?????? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ???? ????? ?? namespaceWpfApplication1 { ??/// ??///MainWindow.xaml的交互逻辑 ??/// ??publicpartialclassMainWindow:Window ??{ ????doublea;//定义为存储结果。 ????doubleb;//定义为第一位操作符。 ????boolc=false; ????stringd;//定义为操作运算符号。 ????publicMainWindow左边()右边 ????{ ??????InitializeComponent左边()右边; ????} ????privatevoidbuttonCC_Click(objectsender,RoutedEventArgse) ????{ ??????textbox1.Text=""; ????} ????privatevoidbutton0_Click(objectsender,RoutedEventArgse) ????{ ??????if(c==true){ ????????textbox1.Text=""; ????????c=false; ??????} ??????textbox1.Text+="0"; ????} ????privatevoidbutton1_Click(objectsender,RoutedEventArgse) ????{ ??????if(c==true){ ????????textbox1.Text=""; ????????c=false; ??????} ??????textbox1.Text+="1"; ????} ????privatevoidbutton2_Click(objectsender,RoutedEventArgse) ????{ ??????if(c==true) ??????{ ????????textbox1.Text=""; ????????c=false; ??????} ??????textbox1.Text+="2"; ????} ????privatevoidbutton3_Click(objectsender,RoutedEventArgse) ????{ ??????if(c==true) ??????{ ????????textbox1.Text=""; ????????c=false; ??????} ??????textbox1.Text+="3"; ????} ????privatevoidbutton4_Click(objectsender,RoutedEventArgse) ????{ ??????if(c==true) ??????{ ????????textbox1.Text=""; ????????c=false; ??????} ??????textbox1.Text+="4"; ????} ????privatevoidbutton5_Click(objectsender,RoutedEventArgse) ????{ ??????if(c==true) ??????{ ????????textbox1.Text=""; ????????c=false; ??????} ??????textbox1.Text+="5"; ????} ????privatevoidbutton6_Click(objectsender,RoutedEventArgse) ????{ ??????if(c==true) ??????{ ????????textbox1.Text=""; ????????c=false; ??????} ??????textbox1.Text+="6"; ????} ????privatevoidbutton7_Click(objectsender,RoutedEventArgse) ????{ ??????if(c==true) ??????{ ????????textbox1.Text=""; ????????c=false; ??????} ??????textbox1.Text+="7"; ????} ????privatevoidbutton8_Click(objectsender,RoutedEventArgse) ????{ ??????if(c==true) ??????{ ????????textbox1.Text=""; ????????c=false; ??????} ??????textbox1.Text+="8"; ????} ????privatevoidbutton9_Click(objectsender,RoutedEventArgse) ????{ ??????if(c==true) ??????{ ????????textbox1.Text=""; ????????c=false; ??????} ??????textbox1.Text+="9"; ????} ????privatevoidbuttonc_Click(objectsender,RoutedEventArgse) ????{ ??????c=true; ??????b=double.Parse(textbox1.Text); ??????d="*"; ????} ????privatevoidbuttona_Click(objectsender,RoutedEventArgse) ????{ ??????c=true; ??????b=double.Parse(textbox1.Text); ??????d="+"; ????} ????privatevoidbuttonb_Click(objectsender,RoutedEventArgse) ????{ ??????c=true; ??????b=double.Parse(textbox1.Text); ??????d="-"; ????} ????privatevoidbuttond_Click(objectsender,RoutedEventArgse) ????{ ??????c=true; ??????b=double.Parse(textbox1.Text); ??????d="/"; ????} ????privatevoidbuttonf_Click(objectsender,RoutedEventArgse) ????{ ??????c=true; ??????b=double.Parse(textbox1.Text); ??????d="%"; ????} ????privatevoidbuttone_Click(objectsender,RoutedEventArgse) ????{ ??????switch(d){ ????????case"+":a=b+double.Parse(textbox1.Text); ??????????break; ????????case"-":a=b-double.Parse(textbox1.Text); ??????????break; ????????case"*":a=b*double.Parse(textbox1.Text); ??????????break; ????????case"/":a=b/double.Parse(textbox1.Text); ??????????break; ????????case"%":a=b%double.Parse(textbox1.Text); ??????????break; ??????} ??????textbox1.Text=a+""; ??????c=true; ????} ??} } 根据大家的需求。以前写的计算器是不可以连续计算的。现在已经更改可以连续计算了。只是添加了几个判断。很简单的。 这个是代码,有注释哦。 第一:在计算器的数字进行判断。 第二:在等号的方法进行判断。超级简单易懂。 有需要源码的也可以联系我。有一次满足的大众的需求。哈哈哈哈哈~~~~ 这个是项目的源码下载地: 如果有不足的地方欢迎多多指教!记得我是一个热爱编程的男孩子!有错误的地方多多指点!我是一个刚刚毕业入门的应届生!希望我们一起进步!有问题可以咨询我!欢迎给我留言!