给3个textbox赋值,然后根据算法,在lable里自动算出结果,怎么用C#代码实现 ?? 我用的是vs2008

如题所述

找一个合适的时候调用你自己定义的方法 在方法内部取值(从textbox中) 运算 然后显示在label上。
比如在第三个textbox失去foucs的时候 调用你的方法
先注册这个事件 textBox1.LostFocus += new EventHandler(textBox1_LostFocus);
然后在事件中调用你的方法
void textBox1_LostFocus(object sender, EventArgs e)
{
Methed();
}
Methed() //你的方法 用来运算 假设你的算法是相加的话
{
label.text=Convert.Toint32(textbox1.text)+Convert.Toint32(textbox1.text)+Convert.Toint32(textbox1.text);
}

如果你要这么做的话 还要考虑文本框验证问题 ,因为你不能保证用户输入的一定是数字,万一是汉字什么的 你就嗝屁了 程序会报错的
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-23
给三个分别设置键盘输入值,然后相加就行了~switch() case追问

可以具体点? switch() case 对这个语法不是很熟悉 ?

追答

http://wenku.baidu.com/view/db4f8b0a581b6bd97f19eaac.html可参考这个学习下

第2个回答  2012-11-23
在textbox中加入textchanged事件
将textbox内容转换为double类型
然后根据算法进行计算
label显示结果
大致步骤是这样吧
实际要复杂点..的追问

怎么复杂法呀 可以帮我写个简单的例子出来? 用js或者与c#代码结合 谢谢!

追答

  
  $(function() {
  $("#text_1").blur(function() {//文本焦点离开
  mathnow();
  })
  $("#text_2").blur(function() {
  mathnow();
  })
  })
  function mathnow() {
  var t1 = $("#text_1").val();
  var t2 = $("#text_2").val();
  t1 = onlymath(t1);//清楚t1多余字符
  t2 = onlymath(t2);//清楚t2多余字符
  $("#text_1").val(t1);
  $("#text_2").val(t2);
  if (t1 == "" || t2 == "") {
  return;
  }

  var v = $("#select").val();
  var result;

  switch (v) {
  case "1":
  result = parseFloat(t1) + parseFloat(t2);
  break;
  case "2":
  result = parseFloat(t1) - parseFloat(t2);
  break;
  case "3":
  result = parseFloat(t1) * parseFloat(t2);
  break;
  case "4":
  result = parseFloat(t1) / parseFloat(t2);
  break;
  }

  $("#text_3").val(result);
  }
  function onlymath(s) {
  var spacecheck = /\s/ig;//匹配空格
  var othercheck = /\D/ig;//匹配除了数字之外的字符
  if (spacecheck.test(s)) {
  s = s.replace(spacecheck, "");//将空格全部替换为空
  }
  if (othercheck.test(s)) {
  s = s.replace(othercheck, "");//将数字之外的字符替换为空
  }
  return s;
  }
  
  
  
  
  +
  -
  X
  /
  
  =
  
  
引用个jquery.js
因为空闲时间不多,随便做了下
只能是整数,小数的还没做
测试的还没出问题

相似回答