用c#编计算器遇到的两个小问题
初学C#,用winform编一个计算器,我用键盘输入数字在textbox中是有光标的,但是我用自己程序上的几个数字键输入确没有光标,没光标就不能用键盘继续输入。这个怎么解...
初学C#,用winform编一个计算器,我用键盘输入数字在textbox中是有光标的,但是我用自己程序上的几个数字键输入确没有光标,没光标就不能用键盘继续输入。这个怎么解决。 还有一个问题是,我想用textbox1放输入的表达式,包括数字加减乘除还有括号,然后点运算就把这个表达式的计算结果显示在textbox2中,怎么实现。
展开
2个回答
2013-11-14
展开全部
第一个:
光标不在textbox上,你可以设置一下啊,如:textbox1.focus()就是获得焦点。
第二个:
如果你使用一个textbox接受整个表达式的话,不是很好做,因为你需要不停的去截取字段,这还是用户没有"恶意"输入的前提下。
这里推荐分成多个textbox,分别接收第一个数字、运算符、第二个数字。
如果一定要使用一个textbox的话,只有使用substring()函数和indexof()、lastindexof()这些函数去遍历了。
光标不在textbox上,你可以设置一下啊,如:textbox1.focus()就是获得焦点。
第二个:
如果你使用一个textbox接受整个表达式的话,不是很好做,因为你需要不停的去截取字段,这还是用户没有"恶意"输入的前提下。
这里推荐分成多个textbox,分别接收第一个数字、运算符、第二个数字。
如果一定要使用一个textbox的话,只有使用substring()函数和indexof()、lastindexof()这些函数去遍历了。
追问
我不是要textbox整个获得焦点,照你这样弄,它把textbox中的整个字符串都给选择了,只要键盘输入就把之前输入的字符串都给替代了 我想要的是焦点在字符串的末尾。这个怎么弄呀
追答
那就不给textbox焦点了吧,不给焦点也可以赋值的,textbox1.text+=按键的数值。
然后自己按键盘的时候调用keydown事件,取按键的值,同上赋给就OK了
你可以对比下电脑自带的计算器。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询