如何在计算器中按ON时更换0 [英] How to replace 0 on pressing ON in a calculator

查看:76
本文介绍了如何在计算器中按ON时更换0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经制作了一个计算器,它运行正常,但是有一个电源按钮,其文本在单击按钮时被更改。首先它是ON,并且在结果文本框中写入0。现在我想用点击按钮取代它,但它没有发生。

请帮帮我。

还有代码便利性:

I have made a calculator, it is working fine but there is a power button whose text is changed on clicking the button.First it is ON and 0 is written in the result text box. Now i want to replace it with the value on the click of the button, but it is not happening.
Please help me out with this.
There is code also for the convenience as:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
namespace Calculator_full
{
    public partial class calculator : System.Web.UI.Page
    {
        
        Decimal Num1;
        Decimal Num2;
       
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                btn_power.Text = "ON";

                btn_power.BackColor = Color.Green;

                btn_0.Enabled = false;
                btn_1.Enabled = false;
                btn_2.Enabled = false;
                btn_3.Enabled = false;
                btn_4.Enabled = false;
                btn_5.Enabled = false;
                btn_6.Enabled = false;
                btn_7.Enabled = false;
                btn_8.Enabled = false;
                btn_9.Enabled = false;
                btn_clear.Enabled = false;
                btn_clearall.Enabled = false;
                btn_multiply.Enabled = false;
                btn_divide.Enabled = false;
                btn_equal.Enabled = false;
                btn_add.Enabled = false;
                btn_sub.Enabled = false;

             }
        }



        protected void btn_1_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + 1;
           
        }

        protected void btn_8_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_8.Text;
        }

        protected void btn_2_Click(object sender, EventArgs e)
        {
            //txt_result.Text = txt_result.Text + btn_2.Text;
            txt_result.Text = txt_result.Text + 2;
        }

        protected void btn_3_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_3.Text;
        }

        protected void btn_4_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_4.Text;
        }

        protected void btn_5_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_5.Text;
        }

        protected void btn_6_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_6.Text;
        }

        protected void btn_7_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_7.Text;
        }

        protected void btn_9_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_9.Text;
        }

        protected void btn_0_Click(object sender, EventArgs e)
        {
            txt_result.Text = txt_result.Text + btn_0.Text;
        }

        protected void btn_add_Click(object sender, EventArgs e)
        {
            Num1 = Convert.ToDecimal(txt_result.Text);
            Session["first"] = Num1;
            Session["Func"] = "ADD";
            txt_result.Text = string.Empty;
        }

        protected void btn_equal_Click(object sender, EventArgs e)
        {
            Num2 = Convert.ToDecimal(txt_result.Text);
            if (Session["Func"].ToString() == "ADD")
            {
                decimal res = 0;
                Convert.ToString(Convert.ToDecimal(Session["First"]) + Num2);
                res = Convert.ToDecimal(Session["First"]) + Num2;
                txt_result.Text = String.Format("{0:0.########}", res);
            }
            else if (Session["Func"].ToString() == "SUB")
            {
                decimal res = 0;
                res = Convert.ToDecimal(Session["First"]) - Num2;
                txt_result.Text = String.Format("{0:0.########}", res);
            }
            else if (Session["Func"].ToString() == "DIV")
            {
                Convert.ToString(Convert.ToDecimal(Session["First"]) / Num2);
                decimal res = 0;
                res = Convert.ToDecimal(Session["First"]) / Num2;
                txt_result.Text = String.Format("{0:0.########}", res);
            }
            else if (Session["Func"].ToString() == "MUL")
            {
                Convert.ToString(Convert.ToDecimal(Session["First"]) * Num2);
                decimal res = 0;
                res = Convert.ToDecimal(Session["First"]) * Num2;
                txt_result.Text = String.Format("{0:0.########}", res);

            }

        }



        protected void btn_divide_Click(object sender, EventArgs e)
        {
            Num1 = Convert.ToDecimal(txt_result.Text);
            Session["first"] = Num1;
            Session["Func"] = "DIV";
            txt_result.Text = string.Empty;
        }

        protected void btn_multiply_Click(object sender, EventArgs e)
        {
            Num1 = Convert.ToDecimal(txt_result.Text);
            Session["first"] = Num1;
            Session["Func"] = "MUL";
            txt_result.Text = string.Empty;
        }

        protected void btn_sub_Click(object sender, EventArgs e)
        {
            Num1 = Convert.ToDecimal(txt_result.Text);
            Session["first"] = Num1;
            Session["Func"] = "SUB";
            txt_result.Text = string.Empty;
        }

        protected void btn_clear_Click(object sender, EventArgs e)
        {
            clearall();
        }

        protected void btn_clearall_Click(object sender, EventArgs e)
        {
            clearall();
        }

        protected void btn_power_Click(object sender, EventArgs e)
        {
            btn_power.Text = "OFF";
            btn_power.BackColor = Color.Red;
            btn_0.Enabled = true;
            btn_1.Enabled = true;
            btn_2.Enabled = true;
            btn_3.Enabled = true;
            btn_4.Enabled = true;
            btn_5.Enabled = true;
            btn_6.Enabled = true;
            btn_7.Enabled = true;
            btn_8.Enabled = true;
            btn_9.Enabled = true;
            btn_clear.Enabled = true;
            btn_clearall.Enabled = true;
            btn_multiply.Enabled = true;
            btn_divide.Enabled = true;
            btn_equal.Enabled = true;
            btn_add.Enabled = true;
            btn_sub.Enabled = true;

            txt_result.Text = "0";
            Session.Abandon();

        }

        public void clearall()
        {
            txt_result.Text = "";
        }

        protected void txt_result_TextChanged(object sender, EventArgs e)
        {

        }

        protected void btn_decimal_Click(object sender, EventArgs e)
       
        {
            txt_result.Text = txt_result.Text + btn_decimal.Text;

        }
       
    }
}



请帮我解决,因为它很紧急。

推荐答案

这里有一些提示,让你的代码更清洁...

Just a few hints here on making your code a little cleaner...
protected void btn_power_Click(object sender, EventArgs e)
{
   bool isPowerTurningOn = (btn_power.Text == "OFF");

   // This will act as a toggle switch for the button text
   btn_power.Text = isPowerTurningOn ? "ON" : "OFF";
   btn_power.BackColor = isPowerTurningOn ? Color.Green : Color.Red;

   // Instead of calling each item in a separate line,
   // use a loop to make your life easier.
   foreach( var ctl in Controls )
   {
      if( ctl is Button )
      {
         ctl.Enabled = isPowerTurningOn;
      }
   } 
   
   txt_result.Text = isPowerTurningOn ? "0" : string.Empty;
   Session.Abandon();
 
}


我认为你需要如下代码...



I think you need as below code...

public static string str= "";
public static int count = 0;
protected void Button1_Click(object sender, EventArgs e)
{
    count++;
    if (count % 2 == 0)
        str = "On";
    else
        str = "Off";
    Button1.Text = str;
}





谢谢

如果它可以帮助你,请不要忘记标记为解决方案和投票。

C#/ Asp.Net帮助 [ ^ ]

Hemant Singh



Thanks
If it helps you, plz dont forget to marks as solution and vote.
C#/Asp.Net Help[^]
Hemant Singh


这篇关于如何在计算器中按ON时更换0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆