C#winform,文本框设置只能输入一个小数点,截图这段话看不明白,求解
三层if,第一层if判断输入了一个‘.’;只有确定是输入了一个点才会进入第二个if语句,那么第二层if为什么又判断小数点没有出现过的情况,不是肯定已经出现了吗然后整段话是...
三层if,第一层if判断输入了一个‘.’;
只有确定是输入了一个点才会进入第二个if语句,那么第二层if为什么又判断小数点没有出现过的情况,不是肯定已经出现了吗
然后整段话是什么意思呢 展开
只有确定是输入了一个点才会进入第二个if语句,那么第二层if为什么又判断小数点没有出现过的情况,不是肯定已经出现了吗
然后整段话是什么意思呢 展开
3个回答
展开全部
1、是键盘输入.
2、是文本框里面的已有的字符是否已经包含. 例如文本框已有的值 name 此时键盘输入的.还没有到文本框中
2、是文本框里面的已有的字符是否已经包含. 例如文本框已有的值 name 此时键盘输入的.还没有到文本框中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
举个例子,比如现在的文本框里是123,当再输入一个.的时候,进入第一个if,(此时文本框中内容仍然还是123,而不是123. 你可以自已在第二个if上下断点看看那个text是什么就知道了,第3个if是判断光标的位置是不是位于文本框的开始,如果是那当然也是不能允许这个小数点的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是实现文本框只能输入一个小数点,这几行代码恐怕还无法实现,应在适当的时候不处理键盘事件
if(e.KeyChar=='.'){
if(cerrntTextBox.Text.IndexOf('.')==-1){
if(cerrntTextBox.SelectionStart>0){
e.Handled=false;
}else{
e.Handled=true;
}
}else{
e.Handled=true;
}
}
if(e.KeyChar=='.'){
if(cerrntTextBox.Text.IndexOf('.')==-1){
if(cerrntTextBox.SelectionStart>0){
e.Handled=false;
}else{
e.Handled=true;
}
}else{
e.Handled=true;
}
}
追问
两个else我写过,又注释掉,发现完全没区别,一直疑惑为什么注释掉会没有区别
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询