C#桌面应用制作盘算器

[复制链接]
发表于 2025-12-23 14:29:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
C#桌面应用制作浅易盘算器,可实现数字之间的加减乘除、AC按键清屏、Del按键扫除末了数字、+/-按键取数字相反数、%按键使数字缩小100倍、=按键表现运算效果等......
页面实现效果


功能实现

布局

盘算器主体利用Panel容器,然后将button控件分列放置Panel容器做为盘算器按键,表现主体利用groudBox容器,然后在groudBox容器里放置一个Panel容器作为表现屏,再在Panel容器放置一个label控件用于表现输入和运算效果。
布局效果


数字按键功能

点击数字按键使其数字投射到盘算器平面上,由于屏幕巨细有限,以是使其数字长度大于16时,字体缩小一倍,数字长度大于30时,弹窗提示"字符长度超出范围"。
数字按键功能实现效果


数字按键功能实当代码

  1. private void button8_Click(object sender, EventArgs e)
  2. {
  3.      string seven = "7";
  4.      if (label1.Text.Length < 30)
  5.      {
  6.          if (label1.Text == "+" || label1.Text == "-" || label1.Text == "×" || label1.Text == "÷")
  7.          {
  8.              label1.Text = null;//如果前面有运算符,则先消除运算符再把数字投射到屏幕上
  9.          }
  10.          label1.Text = label1.Text + seven;//将数字投射到屏幕上
  11.          if (label1.Text.Length > 16)
  12.          {
  13.              label1.Font = new Font(label1.Font.FontFamily, 13f, label1.Font.Style);
  14.          }
  15.          else
  16.          {
  17.              label1.Font = new Font(label1.Font.FontFamily, 26f, label1.Font.Style);
  18.          }
  19.      }
  20.      else
  21.      {
  22.          MessageBox.Show("字符长度超出范围");
  23.      }
  24. }
复制代码
运算符按键功能

假如在输入运算符前未输入数字,则弹窗提示"无运算数字";假如输入运算符前已经输入数字且symbol(运算符)为null,则扫除已经输入的而且投射到屏幕上的数字并将其赋值至num1,然后将运算符赋值给symbol并投射到屏幕上;假如输入运算符前屏幕上已经表现了输入的运算符,则弹窗提示"您已输入运算符";假如输入运算符前已经输入数字且symbol(运算符)已被赋值,则扫除已经输入的而且投射到屏幕上的数字并将其赋值至num2并盘算num1 运算符 num2效果并将其赋值至num1,然后将运算符赋值给symbol并投射到屏幕上。
运算符按键功能实现效果


运算符按键功能实当代码

  1. private void button4_Click(object sender, EventArgs e)
  2. {
  3.      string divide = "÷";
  4.      if (symbol == null && label1.Text.Length<1&&num1==null)
  5.      {
  6.          MessageBox.Show("无运算数字");
  7.      }
  8.      else
  9.      {
  10.          if (symbol == null)
  11.          {
  12.              if(num1 == null)
  13.              {
  14.                  num1 = label1.Text;
  15.              }
  16.              symbol = divide;
  17.              label1.Text = symbol;
  18.          }
  19.          else
  20.          {
  21.                  if (label1.Text == "+" || label1.Text == "-" || label1.Text == "×" || label1.Text == "÷") {
  22.                      MessageBox.Show("您已输入运算符");
  23.                  }
  24.              else
  25.              {
  26.                  num2 = label1.Text;
  27.                  rt = double.Parse(num1) / double.Parse(num2);
  28.                  num1 = rt.ToString();
  29.                  symbol = divide;
  30.                  label1.Text = symbol;
  31.                  num2 = null;
  32.              }
  33.          }
  34.      }
  35. }
复制代码

AC按键功能

点击扫除全部信息。
AC按键功能实现效果


AC按键功能实当代码

  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3.      label1.Text = null;
  4.      num1=null;
  5.      num2=null;
  6.      symbol = null;
  7. }
复制代码
Del按键功能

点击扫除末了字符,假如屏幕上末了字符表现的是输入的运算符,则点击后扫除运算符并把num1的值投射到屏幕上。
Del按键功能实现效果


Del按键功能实当代码

  1. private void button2_Click(object sender, EventArgs e)
  2. {
  3.     if (label1.Text.Length == 0)
  4.     {
  5.         label1.Text = null;
  6.     }
  7.     else
  8.     {
  9.         if (label1.Text == "+" || label1.Text == "-" || label1.Text == "×" || label1.Text == "÷")
  10.         {
  11.             label1.Text = num1;
  12.             symbol = null;
  13.         }
  14.         else
  15.         {
  16.             string del = label1.Text;
  17.             label1.Text = del.Substring(0, del.Length - 1);
  18.             if (label1.Text.Length < 30)
  19.             {
  20.                 if (label1.Text.Length > 16)
  21.                 {
  22.                     label1.Font = new Font(label1.Font.FontFamily, 13f, label1.Font.Style);
  23.                 }
  24.                 else
  25.                 {
  26.                     label1.Font = new Font(label1.Font.FontFamily, 26f, label1.Font.Style);
  27.                 }
  28.             }
  29.         }
  30.     }
  31. }
复制代码
+/-按键功能

点击取屏幕上数字的相反数并投射到屏幕上;但是假如点击+/-按键时屏幕上没有数字或屏幕上为运算符,则按键提示"error"(按键‘.’同样效果)。
+/-按键功能实现效果


+/-按键功能实当代码

  1. private void button3_Click(object sender, EventArgs e)
  2. {
  3.     if (label1.Text.Length == 0)
  4.     {
  5.         MessageBox.Show("error");
  6.     }
  7.     else if (label1.Text == "+" || label1.Text == "-" || label1.Text == "×" || label1.Text == "÷")
  8.     {
  9.         MessageBox.Show("error");
  10.     }
  11.     else
  12.     {
  13.         double reserve = double.Parse(label1.Text);
  14.         reserve = -reserve;
  15.         label1.Text = reserve.ToString();
  16.   
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表