C# 如何在单击另一个单选按钮时从一个单选按钮还原更改C
我有两个单选按钮。一个值加1,另一个值加11到最终总数。我将它们都分组在一个面板中。当我选择其中一个按钮时,它会正确地添加值,但当我在选择第一个按钮后选择另一个单选按钮时,它会将新值添加到最终总数中,而不会忽略第一个单选按钮的选择。是否有一行简单的代码可以忽略第一个选择 如果不了解基于web/desktop的应用程序和代码,很难回答这个问题。但我看到两种选择 将原始值保留在某个位置,然后在单选按钮上选择“添加到原始值”以获得总值 减去“其他”单选按钮的值,然后为当前选择添加值以获得总计C# 如何在单击另一个单选按钮时从一个单选按钮还原更改C,c#,radio-button,C#,Radio Button,我有两个单选按钮。一个值加1,另一个值加11到最终总数。我将它们都分组在一个面板中。当我选择其中一个按钮时,它会正确地添加值,但当我在选择第一个按钮后选择另一个单选按钮时,它会将新值添加到最终总数中,而不会忽略第一个单选按钮的选择。是否有一行简单的代码可以忽略第一个选择 如果不了解基于web/desktop的应用程序和代码,很难回答这个问题。但我看到两种选择 将原始值保留在某个位置,然后在单选按钮上选择“添加到原始值”以获得总值 减去“其他”单选按钮的值,然后为当前选择添加值以获得总计 可以将添
可以将添加的值添加到初始化为0的变量中
无论何时单击单选按钮,从添加到最终总数的值中减去变量的值。您可以像下面这样使用,如果您发布正在使用的代码,我将给出更清晰的输出
double total = Convert.ToDouble(txtTotal.Text);
//On Radiobutton1's click
if(radio1.Checked)
txtTotal.Text = Convert.ToString(total + 1);
//On Radiobutton2's click
if (radio2.Checked)
txtTotal.Text =Convert.ToString( total + 11);
使用一种方法找到最终总数,并将该方法的值1或11相加。比如:
public void final()
{
if(radiobtn1.Checked)
finalTotal=grandTotal+1;
else if(radiobtn2.Checked)
finalTotal=grandTotal+11;
}
或者,您可以通过这些单选按钮的单击事件来执行此操作。这将找到每次的最终总数。如果您有更多的计算要做,我建议使用一个单独的方法,如上所示
编辑:
根据您的代码:
int playerCardFinalTotal = 0;
int pcFinalTotal = 0;
private void btnChangeValue_Click(object sender, EventArgs e)
{
if (rdbOne.Checked)
{
pcFinalTotal = playerCardFinalTotal + 1;
}
else if (rdbEleven.Checked)
{
pcFinalTotal = playerCardFinalTotal + 11;
}
}
变化:
您可以使用.Checked本身而不是==true和!rdbOne.Checked代替==false只是提示
使用另一个变量pcFinalTotal存储总值。每次单击这些单选按钮时,它都将重置为正确的值。
我尝试创建一个更改按钮,只需减去所选按钮的值
private void btnChangeValue_Click(object sender, EventArgs e)
{
if (rdbOne.Checked == true)
{
playerTallyTotals(-1);
rdbOne.Checked = false;
pnlValues.Enabled = true;
}
else if (rdbEleven.Checked == true)
{
playerTallyTotals(-11);
rdbEleven.Checked = false;
pnlValues.Enabled = true;
}
}
它被传递到:
int playerCardFinalTotal = 0;
private void playerTallyTotals(int playerCardTotalx)
{
playerCardFinalTotal = playerCardFinalTotal + playerCardTotalx;
}
始终保持原始值:
int total = someValue;
int finalTotal;
private void radioEvent(object sender, EventArgs e)
{
if(radioOne.Checked)
{
finalTotal = total + 1;
}
if(radioTwo.Checked)
{
finalTotal = total + 11;
}
}
提交结果时,您将使用最终值。请发布您的代码,然后根据单选按钮从总数中减去1或11,然后再添加?@DmitryBychenko这将导致第一次单击时的状态不正确。但是,是的,是这样的。@Dimitry:第一次单击时会给出错误的输出当我选择1时,它会将1正确地添加到最终总数中,但当我单击“更改”按钮时,它会扣除10,而不是1。