C#WPF计算器!一个刚刚入门一个星期Csharp的应届生!
时间:2022-12-29
先入正题吧!
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;
????}
??}
}
根据大家的需求。以前写的计算器是不可以连续计算的。现在已经更改可以连续计算了。只是添加了几个判断。很简单的。
这个是代码,有注释哦。
第一:在计算器的数字进行判断。
第二:在等号的方法进行判断。超级简单易懂。
有需要源码的也可以联系我。有一次满足的大众的需求。哈哈哈哈哈~~~~
这个是项目的源码下载地:
如果有不足的地方欢迎多多指教!记得我是一个热爱编程的男孩子!有错误的地方多多指点!我是一个刚刚毕业入门的应届生!希望我们一起进步!有问题可以咨询我!欢迎给我留言!
- 突发!上海自贸区新片区放松房产限购:由5年社保转为3年
- 离开了上海社保怎么办
- @上海市民,社保卡换新,拖到明年再办会很麻烦?真相是...
- 信号!最牛县级市放宽限购,外地人买房无需社保或个税证明!长三角这两地也大力松绑
- 父母户口可以随儿女到上海 上海应届生落户积分要多少钱 上海海归户口
- 新手爸妈必看:给孩子办理医保的最全实操攻略来了!
- 上海社保卡办理去哪里办 有线上办理和线下办理
- 2022上海师范大学研究生学费多少钱一年?含各专业收费标准
- 异地社保会影响上海落户么
- 「社保补缴」认可吗?常见3种情况,2种不认可
- 9月2日普陀区市筹公租房申请审核通过名单
- 非上海硕士落户政策
- 2022年上海市最低工资标准规定
- 部分城市租房落户条件“严格”
- 户口咨询电话是多少?
- 规划指导帮办理上海户口靠谱吗
- 放开落户限制政策,最新或2022(历届)全面放开落户限制的意义解读
- 父母投靠子女落户上海需要什么材料和手续?
- 2022落户上海的35种方式大盘点
- 非上海户口有劳动手册吗?
- 关于非全日制研究生落户
- 2022年户口迁移证过期怎么办?_重复
- 上海交大,南京航空航天,电力电子与电力拖动研究生哪个容易考?哪个以后就业发展好?
- 2021年上海居转户流程时间
- 上海实施新版落户积分办法市政府发布新版《上海市落户积分管
- 2021年外地人拍上海沪牌,需持有上海居住证且社保缴纳满三年
- 上海户口你也可以拿到---人才引进办理方法
- 上海落户:应届研究生落户上海政策细则
- 留学生落户上海流程是怎样的?审核材料多久?
- “大城市”郊区崛起:上海再出“落户牌” 寻找未来经济发动机