如何在单击另一个单选按钮时恢复对一个单选按钮的更改
本文关键字:单选按钮 一个 单击 另一个 恢复 | 更新日期: 2023-09-27 18:11:35
我有两个单选按钮。一个加1,另一个加11。我将它们组合在一个面板中。当我选择其中一个按钮时,它会正确地添加值,但是当我选择第一个按钮后选择另一个单选按钮时,它会将新值添加到最终总数中,而不会忽略第一个单选按钮的选择。是否有一行简单的代码可以忽略第一个选择?
您可以像下面这样使用,如果您发布您正在使用的代码,我会给出更明确的输出。
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;
}
或者您可以从这些单选按钮的click事件中执行。这将找到每次的最终总数。如果您有更多的计算要做,我建议使用如上所示的单独方法。
编辑:按照你的代码:
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
来存储Total Value。每次点击这些单选按钮,它都会重置为正确的值。
在不了解应用程序(基于web/桌面)和代码的情况下很难回答。但是我看到两个选项
- 保留原始值,并在单选按钮选择上添加原始值以获得总数
- 减去其他单选按钮的值,然后加上当前选择的值,得到总数
您可以将添加的值添加到初始化为0(零)的变量中。
每当单击单选按钮时,从添加到最终总数的值中减去变量的值。
始终保持原始值:
int total = someValue;
int finalTotal;
private void radioEvent(object sender, EventArgs e)
{
if(radioOne.Checked)
{
finalTotal = total + 1;
}
if(radioTwo.Checked)
{
finalTotal = total + 11;
}
}
当您提交结果时,您将使用最终值
我尝试创建一个更改按钮,只是减去所选按钮的值。
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;
}