《2022年2022年计算器编程代码 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算器编程代码 .pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、/添加方法public double add(double a,double c) return a+b; 其余的你可以自己写下就好了 都是一样的 只是符号不一样3个文本框4个点击按钮分别代表+ - * / 如果点击的 +的按钮你在 +的点击事件里面调用这个方法就好了/添加按钮 +的事件private void btnX_1_Click(object sender, EventArgs e) /textbox3 是等于的值this.textbox3.text=add(double.parse(this.textbox1.text),double.parse(this.textbox2.text
2、).tostring(); 其余的按这个方法写就好了!private void btnX_1_Click(object sender, EventArgs e) if (ttx_show.Text = 0.00) ttx_show.Text = 1; else ttx_show.Text += 1; private void btnX_2_Click(object sender, EventArgs e) if (ttx_show.Text = 0.00) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
3、 - - - - 第 1 页,共 17 页 - - - - - - - - - ttx_show.Text = 2; else ttx_show.Text += 2; private void btnX_3_Click(object sender, EventArgs e) if (ttx_show.Text = 0.00) ttx_show.Text = 3; else ttx_show.Text += 3; private void btnX_4_Click(object sender, EventArgs e) if (ttx_show.Text = 0.00) ttx_show.Tex
4、t = 4; else ttx_show.Text += 4; private void btnX_5_Click(object sender, EventArgs e) if (ttx_show.Text = 0.00) ttx_show.Text = 5; else ttx_show.Text += 5; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - private void btnX_6_Click(object se
5、nder, EventArgs e) if (ttx_show.Text = 0.00) ttx_show.Text = 6; else ttx_show.Text += 6; private void btnX_7_Click(object sender, EventArgs e) if (ttx_show.Text = 0.00) ttx_show.Text = 7; else ttx_show.Text += 7; private void btnX_8_Click(object sender, EventArgs e) if (ttx_show.Text = 0.00) ttx_sho
6、w.Text = 8; else ttx_show.Text += 8; private void btnX_9_Click(object sender, EventArgs e) if (ttx_show.Text = 0.00) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - - - ttx_show.Text = 9; else ttx_show.Text += 9; private void btnX_0_Click(obje
7、ct sender, EventArgs e) if (ttx_show.Text = 0.00) ttx_show.Text = 0; else ttx_show.Text += 0; private void btnX_round_Click(object sender, EventArgs e) /小数点代码if (ttx_show.Text = 0.00) ttx_show.Text = 0.; else ttx_show.Text += .; private void btnX_bracket_left_Click(object sender, EventArgs e) if (tt
8、x_show.Text = 0.00) ttx_show.Text = (; else 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - ttx_show.Text += (; private void btnX_bracket_right_Click(object sender, EventArgs e) if (ttx_show.Text = 0.00) ttx_show.Text = ); else ttx_show.Te
9、xt += ); #region 【退格】private void btnX_backspace_Click(object sender, EventArgs e) ttx_show.Text = ttx_show.Text.Substring(0, ttx_show.Text.Length - 1);/退格 #endregion #region 【等号】private void btnX_equal_Click(object sender, EventArgs e) equal_fangfa(); #endregion #region 【除号】private void btnX_divide
10、d_Click(object sender, EventArgs e) if (ttx_show.Text != 0.00) ttx_show.Text += /; #endregion #region 【乘号】private void btnX_multiply_Click(object sender, EventArgs e) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - if (ttx_show.Text != 0.0
11、0) ttx_show.Text += *; #endregion #region 【减号】private void btnX_decrease_Click(object sender, EventArgs e) if (ttx_show.Text != 0.00) ttx_show.Text += -; #endregion #region 【加号】private void btnX_add_Click(object sender, EventArgs e) if (ttx_show.Text != 0.00) ttx_show.Text += +; #endregion #region 【
12、清零】private void btnX_CE_Click(object sender, EventArgs e) i = 0; ttx_show.Text = i.ToString(#,#0.00); #endregion #endregion #region 【自定义方法】private void equal_fangfa() try 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - equal = Evaluator.Ev
13、alToDouble(ttx_show.Text);/调用四则运算类 catch (Exception ec) MessageBox.Show(错误代码为: + ec.Message); ttx_show.Text = equal.ToString(); #endregion #region 【键盘事件】private void ttx_show_KeyPress(object sender, KeyPressEventArgs e) if (int)e.KeyChar = (int)Keys.D1) if (ttx_show.Text = 0.00) ttx_show.Text = 1; e
14、lse ttx_show.Text += 1; if (int)e.KeyChar = (int)Keys.D2) if (ttx_show.Text = 0.00) ttx_show.Text = 2; else ttx_show.Text += 2; if (int)e.KeyChar = (int)Keys.D3) if (ttx_show.Text = 0.00) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - ttx
15、_show.Text = 3; else ttx_show.Text += 3; if (int)e.KeyChar = (int)Keys.D4) if (ttx_show.Text = 0.00) ttx_show.Text = 4; else ttx_show.Text += 4; if (int)e.KeyChar = (int)Keys.D5) if (ttx_show.Text = 0.00) ttx_show.Text = 5; else ttx_show.Text += 5; if (int)e.KeyChar = (int)Keys.D6) if (ttx_show.Text
16、 = 0.00) ttx_show.Text = 6; else ttx_show.Text += 6; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页 - - - - - - - - - if (int)e.KeyChar = (int)Keys.D7) if (ttx_show.Text = 0.00) ttx_show.Text = 7; else ttx_show.Text += 7; if (int)e.KeyChar = (int)Keys.D8)
17、if (ttx_show.Text = 0.00) ttx_show.Text = 8; else ttx_show.Text += 8; if (int)e.KeyChar = (int)Keys.D9) if (ttx_show.Text = 0.00) ttx_show.Text = 9; else ttx_show.Text += 9; if (int)e.KeyChar = (int)Keys.D0) if (ttx_show.Text = 0.00) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
18、- - - - - - 第 9 页,共 17 页 - - - - - - - - - ttx_show.Text = 0; else ttx_show.Text += 0; #region 【小键盘数字键】if (int)e.KeyChar = (int)Keys.NumPad1) if (ttx_show.Text = 0.00) ttx_show.Text = 1; else ttx_show.Text += 1; if (int)e.KeyChar = (int)Keys.NumPad2) if (ttx_show.Text = 0.00) ttx_show.Text = 2; else
19、 ttx_show.Text += 2; if (int)e.KeyChar = (int)Keys.NumPad3) if (ttx_show.Text = 0.00) ttx_show.Text = 3; else ttx_show.Text += 3; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 17 页 - - - - - - - - - if (int)e.KeyChar = (int)Keys.NumPad4) if (ttx_show.Text = 0
20、.00) ttx_show.Text = 4; else ttx_show.Text += 4; if (int)e.KeyChar = (int)Keys.NumPad5) if (ttx_show.Text = 0.00) ttx_show.Text = 5; else ttx_show.Text += 5; if (int)e.KeyChar = (int)Keys.NumPad6) if (ttx_show.Text = 0.00) ttx_show.Text = 6; else ttx_show.Text += 6; if (int)e.KeyChar = (int)Keys.Num
21、Pad7) if (ttx_show.Text = 0.00) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 17 页 - - - - - - - - - ttx_show.Text = 7; else ttx_show.Text += 7; if (int)e.KeyChar = (int)Keys.NumPad8) if (ttx_show.Text = 0.00) ttx_show.Text = 8; else ttx_show.Text += 8; if (i
22、nt)e.KeyChar = (int)Keys.NumPad9) if (ttx_show.Text = 0.00) ttx_show.Text = 9; else ttx_show.Text += 9; if (int)e.KeyChar = (int)Keys.NumPad0) if (ttx_show.Text = 0.00) ttx_show.Text = 0; else ttx_show.Text += 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共
23、17 页 - - - - - - - - - #endregion #region 【加号】if (int)e.KeyChar = (int)Keys.Add) if (ttx_show.Text != 0.00) ttx_show.Text += +; #endregion #region 【减号】if (int)e.KeyChar = (int)Keys.Subtract) if (ttx_show.Text != 0.00) ttx_show.Text += -; #endregion #region 【乘号】if (int)e.KeyChar = (int)Keys.Multiply)
24、 if (ttx_show.Text != 0.00) ttx_show.Text += *; #endregion #region 【除号】if (int)e.KeyChar = (int)Keys.Divide) if (ttx_show.Text != 0.00) ttx_show.Text += /; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 17 页 - - - - - - - - - #endregion #region 【小数点】if (int)e.
25、KeyChar = (int)Keys.Decimal)/这里有问题,按小数点没反映 /小数点代码if (ttx_show.Text = 0.00) ttx_show.Text = 0.; else ttx_show.Text += .; #endregion #region 【求结果 -回车】if (int)e.KeyChar = (int)Keys.Enter) equal_fangfa(); #endregion #region 【退格键】if (int)e.KeyChar = (int)Keys.Back) ttx_show.Text = ttx_show.Text.Substring
26、(0, ttx_show.Text.Length - 1);/退格 #endregion #region 【清零】if (int)e.KeyChar = (int)Keys.Escape) i = 0; ttx_show.Text = i.ToString(#,#0.00); #endregion #endregion 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 17 页 - - - - - - - - - #region 【菜单 -复制】private void
27、复制 CToolStripMenuItem_Click(object sender, EventArgs e) if (ttx_show.SelectedText != ) Clipboard.SetDataObject(ttx_show.SelectedText); #endregion #region 【菜单 -粘贴】private void 粘贴 VToolStripMenuItem_Click(object sender, EventArgs e) /莫看懂,拿来用IDataObject iData = Clipboard.GetDataObject(); / Determines w
28、hether the data is in a format you can use. if (iData.GetDataPresent(DataFormats.Text) / Yes it is, so display it in a text box. ttx_show.Text = (String)iData.GetData(DataFormats.Text); #endregion 下面是四则混合计算类class Evaluator public static int EvalToInteger(string statement) string s = EvalToString(sta
29、tement); return int.Parse(s.ToString(); public static double EvalToDouble(string statement) string s = EvalToString(statement); return double.Parse(s); public static string EvalToString(string statement) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 17 页 - -
30、- - - - - - - object o = EvalToObject(statement); return o.ToString(); public static object EvalToObject(string statement) return _evaluatorType.InvokeMember(Eval,BindingFlags.InvokeMethod,null,_evaluator,new object statement ); static Evaluator() ICodeCompiler compiler; compiler = new JScriptCodePr
31、ovider().CreateCompiler(); CompilerParameters parameters; parameters = new CompilerParameters(); parameters.GenerateInMemory = true; CompilerResults results; results = compiler.CompileAssemblyFromSource(parameters, _jscriptSource); Assembly assembly = results.CompiledAssembly; _evaluatorType = assem
32、bly.GetType(Evaluator.Evaluator); _evaluator = Activator.CreateInstance(_evaluatorType); private static object _evaluator = null; private static Type _evaluatorType = null; private static readonly string _jscriptSource = package Evaluator class Evaluator public function Eval(expr : String) : String return eval(expr); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 17 页 - - - - - - - - - ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 17 页 - - - - - - - - -