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

求助:基于C#开发显示两数差值的计算器(含GUI需求)

解决C#差值计算器的两个问题:修正计算逻辑+根据差值正负设置颜色

我明白你现在的困扰啦——本来想做个计算两个数字差值的计算器,结果不小心写成了加法,还希望能根据差值的正负给结果设置不同的颜色。下面我给你一步步搞定这两个问题:

第一步:修正计算逻辑,把加法改成减法

首先得确保我们能安全地从TextBox里读取数值(毕竟用户可能输入非数字内容,直接转换会导致程序崩溃),然后把加法逻辑换成减法。

你之前的错误代码大概是类似这样的:

// 错误的加法逻辑示例
double num1 = double.Parse(textBox1.Text);
double num2 = double.Parse(textBox2.Text);
textBox3.Text = (num1 + num2).ToString();

现在改成安全的减法逻辑:

// 先判断输入是否为有效数字
if (double.TryParse(textBox1.Text, out double num1) && double.TryParse(textBox2.Text, out double num2))
{
    double difference = num1 - num2; // 核心:把+改成-,注意是TextBox1的数值减TextBox2的哦
    textBox3.Text = difference.ToString("F2"); // 保留两位小数,显示更整洁
}
else
{
    textBox3.Text = "请输入有效数字";
    textBox3.ForeColor = Color.Black; // 输入错误时恢复默认颜色
}

第二步:根据差值正负设置文本颜色

计算出差值后,我们只需要判断它的正负,然后给TextBox3的文字设置对应的颜色就好:

// 在计算出差值后添加这段逻辑
if (difference > 0)
{
    textBox3.ForeColor = Color.Green; // 正数显示绿色
}
else if (difference < 0)
{
    textBox3.ForeColor = Color.Red; // 负数显示红色
}
else
{
    textBox3.ForeColor = Color.Black; // 差值为0时用默认黑色
}

完整的按钮点击事件示例(假设用按钮触发计算)

把上面的逻辑整合起来,就是完整的功能代码啦:

private void calculateButton_Click(object sender, EventArgs e)
{
    // 先清空之前的结果和颜色
    textBox3.Text = "";
    textBox3.ForeColor = Color.Black;

    // 安全转换输入的数字
    if (double.TryParse(textBox1.Text, out double num1) && double.TryParse(textBox2.Text, out double num2))
    {
        double difference = num1 - num2;
        textBox3.Text = difference.ToString("F2");

        // 根据差值设置颜色
        if (difference > 0)
        {
            textBox3.ForeColor = Color.Green;
        }
        else if (difference < 0)
        {
            textBox3.ForeColor = Color.Red;
        }
    }
    else
    {
        textBox3.Text = "输入无效,请输入数字";
    }
}

小提示

  • 如果你用的是WPF而不是WinForms,颜色设置的代码稍有不同:textBox3.Foreground = new SolidColorBrush(Colors.Green);
  • 可以给TextBox添加输入限制(比如只允许输入数字和小数点),进一步减少错误输入的情况

内容的提问来源于stack exchange,提问作者Tarwada Android

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:36:47