程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#編寫計算器-簡單版 實現代碼

C#編寫計算器-簡單版 實現代碼

編輯:關於C#
 

因為是winform窗體程序,只給出全部代碼和圖片,具體組件名字請自行參考。

代碼如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CalcTool
{
public partial class FrmCalc : Form
{

private Boolean isNew = false;
public FrmCalc()
{
InitializeComponent();
}

private void FrmCalc_Load(object sender, EventArgs e)
{

foreach (Control ctl in panelMain.Controls)
{
Button label = ctl as Button;
if (label != null)
{
label.Click += label_Click;
}
}
}

void label_Click(object sender, EventArgs e)
{
try
{
if (isNew)
{
this.txtValue.Text = String.Empty;
}
isNew = false;
Button btn = (Button)sender;
String text = btn.Text.Trim();
Boolean bTxt = this.txtValue.Text.Contains("+") || this.txtValue.Text.Contains("-") || this.txtValue.Text.Contains("*") || this.txtValue.Text.Contains("/");
Boolean bInput = text.Contains("+") || text.Contains("-") || text.Contains("*") || text.Contains("/");
if (text.Equals("="))
{
if (this.txtValue.Text.Contains("+"))
{
Calculate('+');
}
if (this.txtValue.Text.Contains("-"))
{
Calculate('-');
}
if (this.txtValue.Text.Contains("*"))
{
Calculate('*');
}
if (this.txtValue.Text.Contains("/"))
{
Calculate('/');
}
}
else if (text.Equals("C"))
{
this.txtValue.Text = String.Empty;
}
else if (btn == this.btnDelete)
{
Int32 lenth = this.txtValue.Text.Trim().Length;
if (lenth <= 0)
{
return;
}
this.txtValue.Text = this.txtValue.Text.Remove(lenth - 1, 1);
}
else
{
if (bTxt && bInput)
{
return;
}
this.txtValue.Text += text;
}
}
catch (Exception ex)
{
this.txtValue.Text = ex.Message;
}
}

private void Calculate(Char c)
{
try
{
String[] strs = this.txtValue.Text.Split(c);
String value1 = this.txtValue.Text.Trim().Substring(0, this.txtValue.Text.Trim().IndexOf(c));
String value2 = this.txtValue.Text.Trim().Substring(this.txtValue.Text.Trim().IndexOf(c) + 1);

Decimal d1 = Decimal.Parse(value1);
Decimal d2 = Decimal.Parse(value2);
if (c == '+')
{
this.txtValue.Text = (d1 + d2).ToString();
}
if (c == '-')
{
this.txtValue.Text = (d1 - d2).ToString();
}
if (c == '*')
{
this.txtValue.Text = (d1 * d2).ToString();
}
if (c == '/')
{
this.txtValue.Text = (d1 / d2).ToString();
}
}
catch
{
throw;
}
finally
{
isNew = true;
}
}
}
}

C#編寫計算器-簡單版 實現代碼
C#編寫計算器-簡單版 實現代碼
 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved