嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
一个简单的计算器,虽然很简单。但是用心做了。对于非数字的提示与下一步(Tab)和焦点的控制 ,我是北大青鸟S1的学生
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 课后练习3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.cmx1.SelectedIndex = 0;
}
private bool a = false;
private bool b = false;
private bool c = false;
/// 验证是否输入为数字方法
public bool isright(String number,ref String value)
{
double i = 0;
if (double.TryParse(number,out i))
{
value = number;
return true;
}
else
{
value = "";
return false;
}
}
/// 计算
private void button1_Click(object sender, EventArgs e)
{
c = false;
String type = this.cmx1.Text;
double value=0; //结果
if (a==true&&b==true)
{
//取出当前值
double number1 = double.Parse(this.txt1.Text);
double number2 = double.Parse(this.txt2.Text);
switch (type)
{
case " ":
value = number1 number2;
break;
case "-":
value = number1 - number2;
break;
case "*":
value = number1 * number2;
break;
case "/":
value = number1 / number2;
break;
default:
MessageBox.Show("运算符非法!", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
}
}
else
{
MessageBox.Show("请输入要计算的数值!","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
this.txt3.Text = value.ToString();
if (this.txt3.Text!=null)
{
c = true;
}
}
/// 文本框1焦点离开事件
private void txt1_Leave(object sender, EventArgs e)
{
String value = "";
if ( isright(this.txt1.Text, ref value))
{
a = true;
}
else
{
a = false;
lab5.Visible = true;
}
this.txt1.Text = value;
}
/// 文本框2焦点离开事件
private void txt2_Leave(object sender, EventArgs e)
{
String value = "";
if (isright(this.txt2.Text, ref value))
{
b = true;
}
else
{
b = false;
lab5.Visible = true;
}
this.txt2.Text = value;
}
//两个文本框的进入事件,隐藏警示文本并清空显示结果
private void txt_Enter(object sender, EventArgs e)
{
Control.CheckForIllegalCrossThreadCalls = false;
txt3.Text = "";
System.Timers.Timer t = new System.Timers.Timer(1000);
t.Elapsed = new System.Timers.ElapsedEventHandler(timer1_Tick);
t.Enabled = true;
t.AutoReset = false;
if (this.ActiveControl==this.txt1&&c==true)
{
txt1.Text = "";
txt2.Text = "";
}
}
//组合框焦点到达
private void cmx1_Enter(object sender, EventArgs e)
{
if (this.lab5.Visible == true)
{
this.txt1.Focus();
}
}
//时钟执行事件
private void timer1_Tick(object sender, EventArgs e)
{
lab5.Visible = false;
}
/// 计算按键的焦点到达
private void button1_Enter(object sender, EventArgs e)
{
if (this.lab5.Visible == true)
{
this.txt2.Focus();
}
}
//退出事件
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("谢谢使用");
this.Close();
}
private void txt1_TextChanged(object sender, EventArgs e)
{
}
}
}