如题: 下面这段代码是什么意思? 请大虾帮忙注解一下,谢谢! 因为他的所有数字button只用了这一个click事件! 所以有点看不懂...... private void button0_Click(object sender, EventArgs e)
{
if (bOperate)
{
txtShow.Text = "";
bOperate = false;
}
string number = ((Button)sender).Text; txtShow.Text = Operation.checkNumberInput(txtShow.Text, number);
}
小弟不慎感激 谢谢!1!
{
if (bOperate)
{
txtShow.Text = "";
bOperate = false;
}
string number = ((Button)sender).Text; txtShow.Text = Operation.checkNumberInput(txtShow.Text, number);
}
小弟不慎感激 谢谢!1!
解决方案 »
- 求助一个关于gps统计车辆油耗的问题
- 线程里如何给函数传参和获得返回值?
- 一个关于视频压缩的问题---高手请进
- 一个正则表达式问题。
- 想用c#编写串口,不知用哪种方法好?(初学者)
- C#:关于字符串数组变量 传值的问题。
- 求助!!求一个select语句!我认为不是很简单啊!
- 在使用SqlConnection时出错?
- 在.NET下如何用WebService实现身份认证,及如何跟踪用户的访问,如类似Possport的功能,不会还是用Session吧?
- 我的代码哪里有问题??为什么我同学的身份证号可以循环出来而我的身份证号循环不出来
- 请sbwwkmyd、vshuang、zswang、fallening进来接分
- 懂VC的请进,重谢100分,要快;帮忙改一句引用外部dll的代码。
//number 大概是 * / - + 吧
txtShow.Text = Operation.checkNumberInput(txtShow.Text, number);//返回值
Operation.checkNumberInput(txtShow.Text, number);
看错了
((Button)sender).Text就是当前点击的button对象上的数字
Operation.checkNumberInput(txtShow.Text, number);\\至于这个方法是干啥的就要看代码才知道了,但是返回的很明显是字符串,而且用这个字符串更改了txtShow的显示
{
string result = "";
if (inputString == ".")//输入:“.” ,或先输入8后输入的. 即:“8.”
{
if (currentNumber.IndexOf(".") < 0)//即:之前还没有输入“.”
{
if (currentNumber.Length == 0)
result = "0" + inputString;//如果之前没有输入,则返回:“0.”
else
result = currentNumber + inputString;//之前有输入数字,合并如:“8.”
} }
else if (currentNumber == "0")//如果之前输入的是:“0”,则返回最近输入的:数字
{
result = inputString;
}
else
{
result = currentNumber + inputString;//把多个数字合并
} return result;
}
当点击按钮的时候触发该事件,进入到方法体后。
这个sender ,就是你点的那个按钮。
因为不能肯定触发者是一个什么类型,所以这里sender是object的。
因为你知道这是一个button的点击事件,所以你可以把sender转换成button来操作这个触发者。
string number = ((Button)sender).Text;
这段代码分解为://得到事件触发者,就是你点的那个button
Button b = (Button)sender;//获得它的文本
string number = b.Text;
比如那个按钮上面写着5,那么这个button的Text就是5.
txtShow.Text = Operation.checkNumberInput(txtShow.Text, number);不断的把string number 加到 check~这个函数里面,每次调用这个函数,它都会做个检查看有没有遇到 '='如果遇到 那么就把积累的表达式,计算出来。你搜索一下 ,表达式树
{
txtShow.Text = "";
bOperate = false;
}
string number = ((Button)sender).Text;//获得所按按钮的 text的值 txtShow.Text = Operation.checkNumberInput(txtShow.Text, number);
//将text的值显示到 输入框 并进行必要的检查
所以 string number = ((Button)sender).Text; 就是把按钮上的text读出来,
然后写到显示框里:txtShow.Text = Operation.checkNumberInput(txtShow.Text, number);数字button的基本思路就是这样,不过计算器里的按钮分两类的,一类是数,一类是操作符(就是+-*/=)。
每按一个按钮都要和前一个按钮进行联系,再判断,再计算,这lz自己好好理解吧。
顶,obejct sender 事件触发的对象,
string number = ((Button)sender).Text;//组合数字,这里主要判断是了是不是小数
txtShow.Text = Operation.checkNumberInput(txtShow.Text, number);
{ if (bOperate) //如果 bOperate=true, //bOperate我猜应该是运算符或清零键设置为true
{
txtShow.Text = ""; //tetshow设置为空
bOperate = false;
}
string number = ((Button)sender).Text; //获取点击的按钮的显示的数字并赋给number txtShow.Text = Operation.checkNumberInput(txtShow.Text, number); //这个函数应该是一个数字显示的链接函数(把txtShow.Text和number连接起来存入txtShow.Text中),实现按一个数字textShow追加一个数字.
}