我最近在我的点击计数器上进行了此操作,目前当点击按钮BR时,它将向BR添加30,向RB添加10。同样,当我点击RB时,它将向RB添加30,向BR添加10。我现在发现的问题是,当我减少金额时,它并没有完全按照我的意愿去做。目前它的工作方式是BR为30,RB为10,如果我右击BR,它将从BR中扣除30,从RB中扣除10,如果它在BR中有10,在RB中有30,我右击RB它从BR中扣除10,从RB中扣除30,但如果BR中的数量为40,RB中的数量为40(两个按钮单击一次),我可以右键单击任一按钮,它将减少前30/10但是会减少前一个30/10。然后以30为单位离开,如果反复右击,它将继续下降并保持减少10。
这是一个GIF,显示它很好(左键单击按钮) https://gyazo.com/264cc772ac2ac4d1765c92aab34221c1
这是显示问题的GIF(右键单击按钮) https://gyazo.com/4a4484d1e78f8fa0e4e2c5c3af0a54a1
这是我使用过的:
select regexp_replace(column_name, '[^[:alnum:]]', '') from tablename;
这是使用的代码:
int BRcount = 0;
int RBcount =0;
我尝试使其工作的方式是可以点击按钮分别增加30 + 10并以相同的方式减少。
(请不要犹豫,提出问题进一步解释,因为我知道它看起来有点令人困惑)
答案 0 :(得分:2)
您的代码的最后部分似乎缺少一些荣誉:
else if (e.Button == MouseButtons.Right)
{
if (RBcount >=30 && BRcount >=10)
RBcount -= 30;
BRcount -= 10;
RBT.Text = RBcount.ToString();
BRT.Text = BRcount.ToString();
}
读起来应该是
else if (e.Button == MouseButtons.Right)
{
if (RBcount >=30 && BRcount >=10)
{
RBcount -= 30;
BRcount -= 10;
}
RBT.Text = RBcount.ToString();
BRT.Text = BRcount.ToString();
}
答案 1 :(得分:0)
您似乎错过了代码中的一些括号。
你写道,
if (RBcount >= 10 && BRcount >= 30)
RBcount -= 10;
BRcount -= 30;
如果没有括号,if语句将只执行以下行,而不考虑缩进。所以,它实际上会做,
if (RBcount >= 10 && BRcount >= 30)
RBcount -= 10;
BRcount -= 30;
我认为你想要,
if (RBcount >= 10 && BRcount >= 30)
{
RBcount -= 10;
BRcount -= 30;
}
然后完整的代码变为,
private void BR_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
BRcount += 30;
RBcount += 10;
BRT.Text = BRcount.ToString();
RBT.Text = RBcount.ToString();
}
else if (e.Button == MouseButtons.Right)
{
if (BRcount >= 30)
BRcount -= 30;
if (RBcount >= 10 && BRcount >= 30)
{
RBcount -= 10;
BRcount -= 30;
}
BRT.Text = BRcount.ToString();
RBT.Text = RBcount.ToString();
}
}
private void RB_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
RBcount += 30;
BRcount += 10;
RBT.Text = RBcount.ToString();
BRT.Text = BRcount.ToString();
}
else if (e.Button == MouseButtons.Right)
{
if (RBcount >= 30 && BRcount >= 10)
{
RBcount -= 30;
BRcount -= 10;
}
RBT.Text = RBcount.ToString();
BRT.Text = BRcount.ToString();
}
}