⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 基于编译原理的表达式计算器 使用算符优先算法实现了表达式计算器
💻 CS
📖 第 1 页 / 共 4 页
字号:
            else if (radioButton4.Checked == true && radioButton9.Checked == true) //二进制转换十六进制
            {
                result = Convert.ToInt32(input, 2);
                textBox3.Text = Convert.ToString(result, 16);

            }


            if (radioButton3.Checked == true && radioButton7.Checked == true)  //八进制转换二进制
            {
                result = Convert.ToInt32(input, 8);
                textBox3.Text = Convert.ToString(result, 2);
            }
            else if (radioButton3.Checked == true && radioButton6.Checked == true) //八进制转换八进制
            {
                textBox3.Text = textBox1.Text;
            }
            else if (radioButton3.Checked == true && radioButton8.Checked == true) //八进制转换十进制
            {
                result = Convert.ToInt32(input, 8);
                textBox3.Text = Convert.ToString(result);
            }
            else if (radioButton3.Checked == true && radioButton9.Checked == true) //八进制转换十六进制
            {
                result = Convert.ToInt32(input, 8);
                textBox3.Text = Convert.ToString(result, 16);
            }


            if (radioButton2.Checked == true && radioButton7.Checked == true)  //十进制转换二进制
            {
                result = Convert.ToInt32(input);
                textBox3.Text = Convert.ToString(result, 2);
            }
            else if (radioButton2.Checked == true && radioButton6.Checked == true) //十进制转换八进制
            {
                result = Convert.ToInt32(input);
                textBox3.Text = Convert.ToString(result, 8);
            }
            else if (radioButton2.Checked == true && radioButton8.Checked == true) //十进制转换十进制
            {
                textBox3.Text = textBox1.Text;
            }
            else if (radioButton2.Checked == true && radioButton9.Checked == true) //十进制转换十六进制
            {
                result = Convert.ToInt32(input);
                textBox3.Text = Convert.ToString(result, 16);
            }


            if (radioButton1.Checked == true && radioButton7.Checked == true)  //十六进制转换二进制
            {
                result = Convert.ToInt32(input, 16);
                textBox3.Text = Convert.ToString(result, 2);
            }
            else if (radioButton1.Checked == true && radioButton6.Checked == true) //十六进制转换八进制
            {
                result = Convert.ToInt32(input, 16);
                textBox3.Text = Convert.ToString(result, 8);
            }
            else if (radioButton1.Checked == true && radioButton8.Checked == true) //十六进制转换十进制
            {
                result = Convert.ToInt32(input, 16);
                textBox3.Text = Convert.ToString(result);
            }
            else if (radioButton1.Checked == true && radioButton9.Checked == true) //十六进制转换十六进制
            {
                textBox3.Text = textBox1.Text;
            }


        }


        private void bA_Click(object sender, EventArgs e)  //十六进制的“A”键
        {
            input += "A";
            textBox1.Text = input;
        }

        private void bB_Click(object sender, EventArgs e)  //十六进制的“B”键
        {
            input += "B";
            textBox1.Text = input;
        }

        private void bce_Click(object sender, EventArgs e) //十六进制的“C”键
        {
            input += "C";
            textBox1.Text = input;
        }

        private void bD_Click(object sender, EventArgs e)  //十六进制的“D”键
        {
            input += "D";
            textBox1.Text = input;
        }

        private void bE_Click(object sender, EventArgs e)  //十六进制的“E”键
        {
            input += "E";
            textBox1.Text = input;
        }

        private void bF_Click(object sender, EventArgs e)  //十六进制的“F”键
        {
            input += "F";
            textBox1.Text = input;
        }


        private void Buttonunable()    //设置所有键不可使用
        {
            button1.Enabled = false;
            button2.Enabled = false;
            button3.Enabled = false;
            button4.Enabled = false;
            button5.Enabled = false;
            button6.Enabled = false;
            button7.Enabled = false;
            button8.Enabled = false;
            button9.Enabled = false;
            button10.Enabled = false;
            button12.Enabled = false;
            button11.Enabled = false;

            bA.Enabled = false;
            bB.Enabled = false;
            bce.Enabled = false;
            bD.Enabled = false;
            bE.Enabled = false;
            bF.Enabled = false;

            bcbrt.Enabled = false;

            badd.Enabled = false;
            bsub.Enabled = false;
            bmul.Enabled = false;
            bdiv.Enabled = false;
            blg.Enabled = false;
            bln.Enabled = false;
            blog.Enabled = false;

            bpercent.Enabled = false;
            bpok.Enabled = false;
            bsin.Enabled = false;
            bcos.Enabled = false;
            basin.Enabled = false;
            bacos.Enabled = false;
            batan.Enabled = false;
            batg.Enabled = false;
            bactg.Enabled = false;
            conl.Enabled = false;
            conr.Enabled = false;
            btan.Enabled = false;
            bsqrt.Enabled = false;
            bsquare.Enabled = false;
        }


        private void Buttonable()   //设置所有键可使用
        {
            button1.Enabled = true;
            button2.Enabled = true;
            button3.Enabled = true;
            button4.Enabled = true;
            button5.Enabled = true;
            button6.Enabled = true;
            button7.Enabled = true;
            button8.Enabled = true;
            button9.Enabled = true;
            button10.Enabled = true;
            button12.Enabled = true;
            button11.Enabled = true;

            bA.Enabled = false;
            bB.Enabled = false;
            bce.Enabled = false;
            bD.Enabled = false;
            bE.Enabled = false;
            bF.Enabled = false;

            bcbrt.Enabled = true;

            badd.Enabled = true;
            bsub.Enabled = true;
            bmul.Enabled = true;
            bdiv.Enabled = true;
            blg.Enabled = true;
            bln.Enabled = true;
            blog.Enabled = true;

            bpercent.Enabled = true;
            bpok.Enabled = true;
            bsin.Enabled = true;
            bcos.Enabled = true;
            basin.Enabled = true;
            bacos.Enabled = true;
            batan.Enabled = true;
            batg.Enabled = true;
            bactg.Enabled = true;
            conl.Enabled = true;
            conr.Enabled = true;
            btan.Enabled = true;
            bsqrt.Enabled = true;
            bsquare.Enabled = true;
        }

        private void radioButton4_CheckedChanged(object sender, EventArgs e)  //初始进制中的二进制选项,设置只有0,1两个键可用
        {
            button1.Enabled = true;
            button10.Enabled = true;
            button2.Enabled = false;
            button3.Enabled = false;
            button4.Enabled = false;
            button5.Enabled = false;
            button6.Enabled = false;
            button7.Enabled = false;
            button8.Enabled = false;
            button9.Enabled = false;
            bA.Enabled = false;
            bB.Enabled = false;
            bce.Enabled = false;
            bD.Enabled = false;
            bE.Enabled = false;
            bF.Enabled = false;
        }



        private void radioButton3_CheckedChanged(object sender, EventArgs e)   //初始进制中的八进制选项,设置只有0到7八个键可用
        {
            button1.Enabled = true;
            button2.Enabled = true;
            button3.Enabled = true;
            button4.Enabled = true;
            button5.Enabled = true;
            button6.Enabled = true;
            button7.Enabled = true;
            button10.Enabled = true;
            button8.Enabled = false;
            button9.Enabled = false;
            bA.Enabled = false;
            bB.Enabled = false;
            bce.Enabled = false;
            bD.Enabled = false;
            bE.Enabled = false;
            bF.Enabled = false;
        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)   //初始进制中的十进制选项,设置只有0到9十个键可用
        {
            button1.Enabled = true;
            button2.Enabled = true;
            button3.Enabled = true;
            button4.Enabled = true;
            button5.Enabled = true;
            button6.Enabled = true;
            button7.Enabled = true;
            button8.Enabled = true;
            button9.Enabled = true;
            button10.Enabled = true;
            bA.Enabled = false;
            bB.Enabled = false;
            bce.Enabled = false;
            bD.Enabled = false;
            bE.Enabled = false;
            bF.Enabled = false;
        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)   //初始进制中的十六进制选项,设置只有0到9,A到F十六个键可用
        {

            button1.Enabled = true;
            button2.Enabled = true;
            button3.Enabled = true;
            button4.Enabled = true;
            button5.Enabled = true;
            button6.Enabled = true;
            button7.Enabled = true;
            button8.Enabled = true;
            button9.Enabled = true;
            button10.Enabled = true;
            bA.Enabled = true;
            bB.Enabled = true;
            bce.Enabled = true;
            bD.Enabled = true;
            bE.Enabled = true;
            bF.Enabled = true;
        }


        private void checkBox1_CheckedChanged(object sender, EventArgs e)  //当选中进制转换功能时的操作
        {
            if (checkBox1.Checked == true)
            {
                groupBox1.Enabled = true;
                groupBox2.Enabled = true;
                Buttonunable();
                textBox1.Text = "";
                textBox3.Text = "";
                input = "";
                n = 0;
            }
            else
            {
                groupBox1.Enabled = false;
                groupBox2.Enabled = false;
                Buttonable();
                textBox1.Text = "";
                textBox3.Text = "";
                input = "";
                n = 0;
            }
        }

        private void button13_Click(object sender, EventArgs e)  //清理text键
        {
            textBox2.Clear();
        }


        //键盘事件





        private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {

            if (e.KeyChar == (char)Keys.D0)
            {
                button10_Click(null, null);
            }
            else if (e.KeyChar == (char)Keys.D1)
            {
                button1_Click(null, null);
            }
            else if (e.KeyChar == (char)Keys.D2)
            { button2_Click(null, null); }
            else if (e.KeyChar == (char)Keys.D3)
            { button3_Click(null, null); }
            else if (e.KeyChar == (char)Keys.D4)
            { button4_Click(null, null); }
            else if (e.KeyChar == (char)Keys.D5)
            { button5_Click(null, null); }
            else if (e.KeyChar == (char)Keys.D6)
            { button6_Click(null, null); }
            else if (e.KeyChar == (char)Keys.D7)
            { button7_Click(null, null); }
            else if (e.KeyChar == (char)Keys.D8)
            { button8_Click(null, null); }
            else if (e.KeyChar == (char)Keys.D9)
            { button9_Click(null, null); }
            else if (e.KeyChar == (char)(Keys.Multiply - 64))      //乘号键
            { bmul_Click(null, null); }
            else if (e.KeyChar == (char)(Keys.Divide - 64))       //除号键
            { bdiv_Click(null, null); }
            else if (e.KeyChar == (char)(Keys.Add - 64))         //加号键
            { badd_Click(null, null); } 
            else if (e.KeyChar == (char)(Keys.Subtract - 64))   // 减号键
            { bsub_Click(null, null); }
            else if (e.KeyChar == (char)(Keys.Back))            //backspace键
            { bbs_Click(null, null); }
            else if (e.KeyChar == (char)(Keys.Decimal-64))  //小数点
            { bpok_Click(null, null); }
            else if (e.KeyChar == (char)(Keys.Space))            //空格键表示等号键
            { b12_Click(null, null); }
        }

       
       
    




    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -