62,052
社区成员
发帖
与我相关
我的任务
分享
//开发平台 VisualStidio2008TeamSuite
//开发语言C#
//数字0-9的ID分别为btn_0~btn_9
//textbox的ID为txt_Show
//+-*/的ID分别为btn_Plus,btn_Minus,btn_Multiply,btn_Divede
//=的ID为btn_Equal,退格按钮是btn_Backspace,清空textbox的按钮是btn_C,初始化按钮是btn_CE,正负号按钮是btn_PlusAndMinus,小数点按钮是btn_Point
//------------------------------------------------------------------------------------------------------------
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
string strI;//标记+-*/
string check;//判断是否按下了运算符,以便于按数字来清屏
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btn_1_Click(object sender, EventArgs e)//将数字1输入到textbox中 下同
{
check = Convert.ToString(ViewState["check"]);//将ViewState["check"]的值赋给check,用以判断按下该按钮之前是否按下运算符号
switch (check)
{
case "1":
txt_Show.Text = "";
txt_Show.Text += 1;//使textbox的值加上当前按钮的值(string类型) 下同
ViewState["check"] = Convert.ToString(ViewState["check"]) + 1;
//使ViewState["check"],以防止按下运算符之后每次点击数字都清屏 下同
ViewState["in"] = Convert.ToString(ViewState["in"]) + 1;
//ViewState["in"]用来保存textbox上的数值 便于计算 下同
break;
default:
txt_Show.Text += 1;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 1;
break;
}
}
protected void btn_2_Click(object sender, EventArgs e)
{
check = Convert.ToString(ViewState["check"]);
switch (check)
{
case "1":
txt_Show.Text = "";
txt_Show.Text += 2;
ViewState["check"] = Convert.ToString(ViewState["check"]) + 1;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 2;
break;
default:
txt_Show.Text += 2;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 2;
break;
}
}
protected void btn_3_Click(object sender, EventArgs e)
{
check = Convert.ToString(ViewState["check"]);
switch (check)
{
case "1":
txt_Show.Text = "";
txt_Show.Text += 3;
ViewState["check"] = Convert.ToString(ViewState["check"]) + 1;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 3;
break;
default:
txt_Show.Text += 3;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 3;
break;
}
}
protected void btn_4_Click(object sender, EventArgs e)
{
check = Convert.ToString(ViewState["check"]);
switch (check)
{
case "1":
txt_Show.Text = "";
txt_Show.Text += 4;
ViewState["check"] = Convert.ToString(ViewState["check"]) + 1;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 4;
break;
default:
txt_Show.Text += 4;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 4;
break;
}
}
protected void btn_5_Click(object sender, EventArgs e)
{
check = Convert.ToString(ViewState["check"]);
switch (check)
{
case "1":
txt_Show.Text = "";
txt_Show.Text += 5;
ViewState["check"] = Convert.ToString(ViewState["check"]) + 1;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 5;
break;
default:
txt_Show.Text += 5;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 5;
break;
}
}
protected void btn_6_Click(object sender, EventArgs e)
{
check = Convert.ToString(ViewState["check"]);
switch (check)
{
case "1":
txt_Show.Text = "";
txt_Show.Text += 6;
ViewState["check"] = Convert.ToString(ViewState["check"]) + 1;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 6;
break;
default:
txt_Show.Text += 6;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 6;
break;
}
}
protected void btn_7_Click(object sender, EventArgs e)
{
check = Convert.ToString(ViewState["check"]);
switch (check)
{
case "1":
txt_Show.Text = "";
txt_Show.Text += 7;
ViewState["check"] = Convert.ToString(ViewState["check"]) + 1;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 7;
break;
default:
txt_Show.Text += 7;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 7;
break;
}
}
protected void btn_8_Click(object sender, EventArgs e)
{
check = Convert.ToString(ViewState["check"]);
switch (check)
{
case "1":
txt_Show.Text = "";
txt_Show.Text += 8;
ViewState["check"] = Convert.ToString(ViewState["check"]) + 1;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 8;
break;
default:
txt_Show.Text += 8;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 8;
break;
}
}
protected void btn_9_Click(object sender, EventArgs e)
{
check = Convert.ToString(ViewState["check"]);
switch (check)
{
case "1":
txt_Show.Text = "";
txt_Show.Text += 9;
ViewState["check"] = Convert.ToString(ViewState["check"]) + 1;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 9;
break;
default:
txt_Show.Text += 9;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 9;
break;
}
}
protected void btn_0_Click(object sender, EventArgs e)
{
check = Convert.ToString(ViewState["check"]);
switch (check)
{
case "1":
txt_Show.Text = "";
txt_Show.Text += 0;
ViewState["check"] = Convert.ToString(ViewState["check"]) + 1;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 0;
break;
default:
txt_Show.Text += 0;
ViewState["in"] = Convert.ToString(ViewState["in"]) + 0;
break;
}
}
protected void btn_Plus_Click(object sender, EventArgs e)//加
{
ViewState["out"] = Convert.ToString(ViewState["in"]);
//ViewState["out"]用来在按下运算符后保存之前textbox的值 下同
ViewState["in"] = 0;
ViewState["strI"] = "+";//将运算符的标记保存在ViewState["strI"]中 下同
btn_Point.Enabled = true;//使小数点可以继续使用 下同
ViewState["check"] = "1";//给ViewState["check"]赋初值便于在按下数字键时判断是否清屏 下同
}
protected void btn_Minus_Click(object sender, EventArgs e)//减
{
ViewState["out"] = Convert.ToString(ViewState["in"]);
ViewState["in"] = 0;
ViewState["strI"] = "-";
btn_Point.Enabled = true;
ViewState["check"] = "1";
}
protected void btn_Multiply_Click(object sender, EventArgs e)//乘
{
ViewState["out"] = Convert.ToString(ViewState["in"]);
ViewState["in"] = 0;
ViewState["strI"] = "*";
btn_Point.Enabled = true;
ViewState["check"] = "1";
}
protected void btn_Divide_Click(object sender, EventArgs e)//除
{
ViewState["out"] = Convert.ToString(ViewState["in"]);
ViewState["in"] = 0;
ViewState["strI"] = "/";
btn_Point.Enabled = true;
ViewState["check"] = "1";
}
//余下代码在回复中
protected void btn_Equal_Click(object sender, EventArgs e)//等号的运算
{
strI = Convert.ToString(ViewState["strI"]);
//将ViewState["strI"]的值存入strI中 便于下面的switch语句使用
switch (strI)
{
case "+":
txt_Show.Text = Convert.ToString(Convert.ToDouble(ViewState["out"]) + Convert.ToDouble(ViewState["in"]));//输出ViewState["out"]和ViewState["in"]所保存的结果并运算 下同
break;
case "-":
txt_Show.Text = Convert.ToString(Convert.ToDouble(ViewState["out"]) - Convert.ToDouble(ViewState["in"]));
break;
case "*":
txt_Show.Text = Convert.ToString(Convert.ToDouble(ViewState["out"]) * Convert.ToDouble(ViewState["in"]));
break;
case "/":
txt_Show.Text = Convert.ToString(Convert.ToDouble(ViewState["out"]) / Convert.ToDouble(ViewState["in"]));
break;
}
}
protected void btn_Point_Click(object sender, EventArgs e)//小数点的使用
{
txt_Show.Text = txt_Show.Text + ".";
btn_Point.Enabled = false;//在按完一次小数点之后 使小数点不能继续使用
}
protected void btn_PlusAndMinus_Click(object sender, EventArgs e)//改变当前textbox中的数的正负号
{
txt_Show.Text = Convert.ToString(-Convert.ToInt32(txt_Show.Text));
}
protected void btn_C_Click(object sender, EventArgs e)//将textbox清空
{
txt_Show.Text = "";
}
protected void btn_CE_Click(object sender, EventArgs e)//将计算器初始化
{
txt_Show.Text = "";
ViewState["out"] = 0;
ViewState["in"] = 0;
btn_Point.Enabled = true;
}
protected void btn_Backspace_Click(object sender, EventArgs e)//删除textbox上的最后一个数
{
txt_Show.Text = txt_Show.Text.Substring(0, (txt_Show.Text.Length - 1));
//将textbox上的值从0位到最后一位的前一位输出到textbox上
}
protected void btn_1DivideX_Click(object sender, EventArgs e)//计算1/X
{
txt_Show.Text = Convert.ToString(1 / Convert.ToDouble(txt_Show.Text));
}
protected void btn_Root_Click(object sender, EventArgs e)//开平方
{
double root = Convert.ToDouble(txt_Show.Text);//定义root来保存textbox中的值
root = Math.Sqrt(root);//将root开平方
txt_Show.Text = Convert.ToString(root);
ViewState["in"] = txt_Show.Text;//将textbox的值赋给ViewState["in"],便于继续计算
}
protected void btn_Ms_Click(object sender, EventArgs e)//将当前textbox的值保存在ViewState["MS"]中
{
ViewState["MS"] = Convert.ToDouble(txt_Show.Text);
}
protected void btn_Mr_Click(object sender, EventArgs e)//将ViewState["MS"]中的值显示在textbox上
{
txt_Show.Text = Convert.ToString(ViewState["MS"]);
ViewState["in"] = ViewState["MS"];//将ViewState["MS"]的值赋给ViewState["in"],便于继续计算
}
protected void btn_Mc_Click(object sender, EventArgs e)//将ViewState["MS"]清空
{
ViewState["MS"] = "";
}
}