
C#实现一个button控制两个textbox
想要实现这样的功能,有四个textbox,例如1+1=2,1占用一个textbox,+占用一个,另一个一又占用一个。我想点1时1输入第一个textbox,安+输入第二个,...
想要实现这样的功能,有四个textbox,例如1+1=2,1占用一个textbox,+占用一个,另一个一又占用一个。我想点1时1输入第一个textbox,安+输入第二个,再按1时输入到第三个,这样的应该如何实现。
就是如图这样 展开
就是如图这样 展开
1个回答
展开全部
这其实就是一个状态机的问题。从你的描述可以得出,总共有两种状态。输入数字的状态和输入运算符的状态。一旦发生状态变化,输入框就换到下一个。
比如刚开始的时候用的第一个框,初始状态为数字状态。你输入1,状态没变,则不切换textbox。你输入+,通过判断可以知道这是运算符,并且当前的状态是数字态,这时候就发生了状态改变,就必须切换一个输入框了。我写一段伪代码给你看看。
int CurrentState=0; //0表示数字态,1表示运算符
TextBox CurrentTextBox;
switch(push_value)
{
case 0-9:
if(CurrentState==1)
{
//发生了状态变化,先切换状态再写入
CurrentState=1;
CurrentTextBox=NextTextBox();
}
CurrentTextBox.Text+=push_value;
break;
case +、-、*、/、%:
if(CurrentState==0)
{
//发生了状态变化,先切换状态再写入
CurrentState=1;
CurrentTextBox=NextTextBox();
}
CurrentTextBox.Text+=push_value;
break;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询