在WIndowsPhone8 上制作的简单的计算器
今天,闲着没事,就自己做了一个小小的计算器。。。虽说自己刚学wp8开发没多长时间,望大神多多指教。。
1.这是前台页面的代码
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="10,0,14,0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="137*"/> <ColumnDefinition Width="91*"/> </Grid.ColumnDefinitions> <TextBox HorizontalAlignment="Right" Name="txtNum" TextWrapping="Wrap" VerticalAlignment="Top" Width="456" Margin="0,23,0,0" Grid.ColumnSpan="2" FontSize="29.333"/> <Canvas HorizontalAlignment="Left" Height="auto" Margin="10,102,0,0" VerticalAlignment="Top" Width="auto"/> <Grid HorizontalAlignment="Left" Height="591" Margin="10,95,0,0" VerticalAlignment="Top" Width="431" ShowGridLines="True" Grid.ColumnSpan="2" > <Grid.ColumnDefinitions> <ColumnDefinition Width="108*"/> <ColumnDefinition Width="108*"/> <ColumnDefinition Width="108*"/> <ColumnDefinition Width="108*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="117*"/> <RowDefinition Height="117*"/> <RowDefinition Height="117*"/> <RowDefinition Height="117*"/> <RowDefinition Height="117*"/> </Grid.RowDefinitions> <Button Content="9" Name="btn9" HorizontalAlignment="Left" Margin="0,10,0,0" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btn9_Click"/> <Button Content="8" Name="btn8" HorizontalAlignment="Left" Margin="106,9,0,0" VerticalAlignment="Top" Height="117" Width="106" Grid.ColumnSpan="2" FontSize="48" Click="btn8_Click"/> <Button Content="7" Name="btn7" Grid.Column="1" HorizontalAlignment="Left" Margin="104,10,0,0" VerticalAlignment="Top" Height="117" Grid.ColumnSpan="2" Width="106" FontSize="48" Click="btn7_Click"/> <Button Content="+" Name="btnAdd" Grid.Column="3" HorizontalAlignment="Left" Margin="5,9,-4,0" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btnAdd_Click"/> <Button Content="6" Name="btn6" HorizontalAlignment="Left" Margin="0,9,0,0" Grid.Row="1" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btn6_Click"/> <Button Content="5" Name="btn5" Grid.Column="1" HorizontalAlignment="Left" Margin="0,10,0,0" Grid.Row="1" VerticalAlignment="Top" Width="106" Height="117" FontSize="48" Click="btn5_Click"/> <Button Content="4" Name="btn4" Grid.Column="2" HorizontalAlignment="Left" Margin="3,10,0,0" Grid.Row="1" VerticalAlignment="Top" Height="117" Grid.ColumnSpan="2" Width="106" FontSize="48" Click="btn4_Click"/> <Button Content="-" Name="btnj" Grid.Column="3" HorizontalAlignment="Left" Margin="5,10,-4,0" Grid.Row="1" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btnj_Click"/> <Button Content="3" Name="btn3" HorizontalAlignment="Left" Margin="2,9,0,0" Grid.Row="2" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btn3_Click"/> <Button Content="2" Name="btn2" Grid.Column="1" HorizontalAlignment="Left" Margin="0,10,0,0" Grid.Row="2" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btn2_Click"/> <Button Content="1" Name="btn1" Grid.Column="2" HorizontalAlignment="Left" Margin="5,10,0,0" Grid.Row="2" VerticalAlignment="Top" Height="117" Grid.ColumnSpan="2" Width="106" FontSize="48" Click="btn1_Click"/> <Button Content="*" Name="btnchen" Grid.Column="3" HorizontalAlignment="Left" Margin="10,10,-9,0" Grid.Row="2" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btnchen_Click"/> <Button Content="0" Name="btn0" HorizontalAlignment="Left" Margin="0,10,0,0" Grid.Row="3" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btn0_Click"/> <Button Content="." Name="btnDot" Grid.Column="1" HorizontalAlignment="Left" Margin="0,9,0,0" Grid.Row="3" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btnDot_Click"/> <Button Content="x^2" Name="pingfang" Grid.Column="2" HorizontalAlignment="Left" Margin="3,10,0,0" Grid.Row="3" VerticalAlignment="Top" Height="117" Grid.ColumnSpan="2" Width="106" FontSize="29.333" FontWeight="Bold" Click="pingfang_Click" /> <Button Content="/" Name="btnchu" Grid.Column="3" HorizontalAlignment="Left" Margin="10,10,-9,0" Grid.Row="3" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btnchu_Click"/> <Button Content="清除" Name="btnq" HorizontalAlignment="Left" Margin="-3,0,0,-2" VerticalAlignment="Top" Height="117" Width="209" FontSize="48" Grid.Row="4" Grid.ColumnSpan="2" Click="btnq_Click_1"/> <Button Content="等于" Name="btndeng" Grid.Column="1" HorizontalAlignment="Left" Margin="104,0,-4,-2" VerticalAlignment="Top" Height="117" Grid.ColumnSpan="3" Width="223" FontSize="48" Grid.Row="4" Click="btndeng_Click_1"/> </Grid> <TextBox HorizontalAlignment="Left" Name="txtOld" Height="75" Margin="0,-40,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="456" Grid.ColumnSpan="2" FontSize="29.333"/> </Grid>
2. 这里是后台代码,我都写了注释。。
private static string num; private static string sign; private void btn9_Click(object sender, RoutedEventArgs e) { txtNum.Text = txtNum.Text + "9"; } private void btn8_Click(object sender, RoutedEventArgs e) { txtNum.Text = txtNum.Text + "8"; } private void btn7_Click(object sender, RoutedEventArgs e) { txtNum.Text = txtNum.Text + "7"; } private void btnAdd_Click(object sender, RoutedEventArgs e) //加号 { num = txtNum.Text; txtOld.Text = num; txtNum.Text = ""; sign = "+"; } private void btn6_Click(object sender, RoutedEventArgs e) { txtNum.Text = txtNum.Text + "6"; } private void btn5_Click(object sender, RoutedEventArgs e) { txtNum.Text = txtNum.Text + "5"; } private void btnq_Click_1(object sender, RoutedEventArgs e) //清除 { txtNum.Text = ""; txtOld.Text = ""; } private void btn4_Click(object sender, RoutedEventArgs e) { txtNum.Text = txtNum.Text + "4"; } private void btnj_Click(object sender, RoutedEventArgs e) //减号 { num = txtNum.Text; txtOld.Text = num; txtNum.Text = ""; sign = "-"; } private void btn3_Click(object sender, RoutedEventArgs e) { txtNum.Text = txtNum.Text + "3"; } private void btn2_Click(object sender, RoutedEventArgs e) { txtNum.Text = txtNum.Text + "2"; } private void btn1_Click(object sender, RoutedEventArgs e) { txtNum.Text = txtNum.Text + "1"; } private void btnchen_Click(object sender, RoutedEventArgs e) //乘法 { num = txtNum.Text; txtOld.Text = num; txtNum.Text = ""; sign = "*"; } private void btn0_Click(object sender, RoutedEventArgs e) { txtNum.Text = txtNum.Text + "0"; } private void btnDot_Click(object sender, RoutedEventArgs e) //小数点 { txtNum.Text = txtNum.Text + "."; } private void pingfang_Click(object sender, RoutedEventArgs e) //平方 { num = txtNum.Text.Trim(); try { txtNum.Text = (double.Parse(num) * double.Parse(num)).ToString(); } catch (Exception ex) { txtNum.Text = "Error"; return; } } private void btndeng_Click_1(object sender, RoutedEventArgs e) //等于 { if (txtNum.Text =="") { return; } string bb=txtNum.Text.Trim(); if (string.IsNullOrEmpty(num)) { txtOld.Text =bb; txtNum.Text = ""; } else { string endResult = GetResult(num, bb, sign); txtOld.Text = endResult; txtNum.Text = ""; num = ""; } } public string GetResult(string num,string m,string option) { try { double result1 = double.Parse(num); double mm = double.Parse(m); if (mm == 0 && option == "/") { return "Error"; } switch (option) { case "+": return (result1 + mm).ToString(); break; case "-": return (result1 - mm).ToString(); break; case "*": return (result1 * mm).ToString(); break; case "/": return (result1 / mm).ToString(); break; default: return "Error"; } } catch (Exception ex) { return "Error"; } } private void btnchu_Click(object sender, RoutedEventArgs e) //除 { num = txtNum.Text; txtOld.Text = num; txtNum.Text = ""; sign = "/"; }
3.这是用wp8手机模拟的效果图片