You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需if-else结构实现单选按钮根据购鞋数量自动选中?

解决方案

先明确折扣规则逻辑,优化原有代码的同时添加RadioButton自动勾选功能:

修改后的完整代码

private void button1_Click(object sender, EventArgs e)
{
    // 处理输入合法性,避免非数字输入报错
    if (!decimal.TryParse(textBox1.Text, out decimal schoenen1))
    {
        label3.Text = "请输入有效数字";
        // 清空所有RadioButton勾选状态
        radioButton0Percent.Checked = false;
        radioButton15Percent.Checked = false;
        radioButton25Percent.Checked = false;
        return;
    }

    decimal prijs1 = schoenen1 * 100;
    decimal prijs2 = schoenen1 * 85;
    decimal prijs3 = schoenen1 * 75;

    // 重置所有RadioButton勾选状态
    radioButton0Percent.Checked = false;
    radioButton15Percent.Checked = false;
    radioButton25Percent.Checked = false;

    if (schoenen1 > 5)
    {
        label3.Text = prijs3.ToString();
        radioButton25Percent.Checked = true; // 勾选25%折扣按钮
    }
    else if (schoenen1 >= 2) // 合并2-5双的判断逻辑
    {
        label3.Text = prijs2.ToString();
        radioButton15Percent.Checked = true; // 勾选15%折扣按钮
    }
    else if (schoenen1 == 1)
    {
        label3.Text = prijs1.ToString();
        radioButton0Percent.Checked = true; // 勾选0%折扣按钮
    }
    else
    {
        label3.Text = "请输入大于0的数量";
    }
}

关键说明

  • RadioButton勾选语法:通过设置控件的Checked属性为true即可完成勾选,比如radioButton25Percent.Checked = true;。如果按钮属于同一组(放在同一个GroupBox/Panel中),设置其中一个为true时,同组其他按钮会自动取消勾选,无需手动设置。
  • 代码优化:把原有独立if改为else if结构,避免重复执行判断;添加输入合法性校验,防止非数字输入导致程序崩溃;合并2双及以上到5双的判断条件,简化逻辑。

内容的提问来源于stack exchange,提问作者Stefan N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 13:50:33