c#窗体程序编写计算器()程序代码肿么编写

已举报 回答
c#窗体程序编写计算器()程序代码肿么编写
问在线客服
扫码问在线客服
  • 回答数

    4

  • 浏览数

    7,153

4个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
bool ClearFlag = false; double M = 0; /// summary /// 0-9,+,-,*,/,求余% /// /summary /// param name=sender/param /// param name=e/param private void buttonInput_Click(object sender, EventArgs e) { Button btn = sender as Button; string input = tb_Result.Text.Replace(\r\n0, ); string curBtn = btn.Text; if (ClearFlag) { input = ; ClearFlag = false; } if (input == && curBtn == 0) return; if (btn.Text == + || btn.Text == - || btn.Text == * || btn.Text == / || btn.Text == %) { if (input == ) input = 0; if (input.Contains(+) || input.Contains(-) || input.Contains(*) || input.Contains(/) || input.Contains(%)) { input = Calculate(input); } tb_Result.Text = input + + btn.Text + + \r\n; return; } else tb_Result.Text = input + btn.Text; } string Calculate(string formula) { ClearFlag = true; formula = formula.Replace(\r\n, ); string result = ; double d_result; string s_txt = formula; int space = s_txt.IndexOf(' '); if (space == -1) return formula; string s1 = s_txt.Substring(0, space); char operation = Convert.ToChar(s_txt.Substring((space + 1), 1)); string s2 = s_txt.Substring(space + 3); double arg1 = Convert.ToDouble(s1); if (operation == '√' || operation == 'x' ) s2 = 0; if (s2 == ) return \r\n0; double arg2 = Convert.ToDouble(s2); switch (operation) { case '+': d_result = arg1 + arg2; break; case '-': d_result = arg1 - arg2; break; case '*': d_result = arg1 * arg2; break; case '/': if (arg2 == 0) { throw new ApplicationException(); } else { d_result = arg1 / arg2; } break; case '√': d_result = Math.Pow(arg1, 0.5); break; case 'x': d_result = Math.Pow(arg1, 2); break; case '%': d_result = arg1 % arg2; break; default: throw new ApplicationException(); } result = d_result.ToString(); return result; } /// summary /// CE,C /// /summary /// param name=sender/param /// param name=e/param private void buttonClear_Click(object sender, EventArgs e) { tb_Result.Text = \r\n0; } /// summary /// = /// /summary /// param name=sender/param /// param name=e/param private void buttonEqual_Click(object sender, EventArgs e) { string input = tb_Result.Text.Replace(\r\n0, ); tb_Result.Text = \r\n + Calculate(input); } /// summary /// 后退 /// /summary /// param name=sender/param /// param name=e/param private void buttonBackSpace_Click(object sender, EventArgs e) { int length = tb_Result.Text.Length; if (length 0) tb_Result.Text = tb_Result.Text.Substring(0, length - 1); } /// summary /// 根号,平方 /// /summary /// param name=sender/param /// param name=e/param private void buttonOperation_Click(object sender, EventArgs e) { Button btn = sender as Button; string input = tb_Result.Text.Replace(\r\n0, ); string curBtn = btn.Text; input = input + + btn.Text + + \r\n; tb_Result.Text = \r\n + Calculate(input); } private void buttonMs_Click(object sender, EventArgs e) { Button btn = sender as Button; string input = tb_Result.Text.Replace(\r\n0, ); string curBtn = btn.Text.Replace(M,); char operation = Convert.ToChar(curBtn.Substring(0, 1)); double arg =0, d_result=0; try { arg = Convert.ToDouble(input); } catch { return; } switch (operation) { case '+': d_result = M + arg; break; case '-': d_result = M - arg; break; case 'S': M = arg; return; case 'R': d_result = M; break; case 'C': M =0; return; default: return; } tb_Result.Text = \r\n + d_result; }
取消 评论
在主窗体显示之前加一个密码验证窗体
如果密码验证成功,主窗体显示,密码验证窗体隐藏
取消 评论
Private Sub Form_Load()
Me.Left = Screen.Width - Me.Width
Me.Top = 0
End Sub
取消 评论
我想你说的是保持 文本框的比例和 窗口的比例相同吧 比如 文本框的宽是窗口的1/2 高度也是窗口的1/2 Private Sub Form_Resize()
Text1.Height = Form1.Height / 2
Text1.Width = Form1.Width / 2End Sub
取消 评论
ZOL问答 > 计算器 > 其他 > c#窗体程序编写计算器()程序代码肿么编写

特惠推荐

  • 得力1654

    得力1654

    参考价:¥32    评分:-

    热门排行榜:第2名

  • 京东搜一搜

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?