有很多不尽人意的地方   请大家指导指导using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace 计算器
{
    public partial class Form1 : Form
        
    {
        int i1=0;
        public Form1()
        {
            InitializeComponent();
        }        private void button_Click(object sender, EventArgs e)  
        {
            string str1 = txt1.Text;
            if (str1[0] == '0' && str1.Length == 1) 
            {
                txt1.Text = Convert.ToString("1");
            }
            else
            {
                txt1.Text = Convert.ToString(str1 + "1");
            }
               
        }        private void btn2_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            if (str1[0] == '0' && str1.Length == 1)
            {
                txt1.Text = Convert.ToString("2");
            }
            else
            {
                txt1.Text = Convert.ToString(str1 + "2");
            }
        }        private void btn3_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            if (str1[0] == '0' && str1.Length == 1)
            {
                txt1.Text = Convert.ToString("3");
            }
            else
            {
                 txt1.Text = Convert.ToString(str1 + "3");
            }
        }        private void btn4_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            if (str1[0] == '0' && str1.Length == 1)
            {
                txt1.Text = Convert.ToString("4");
            }
            else
            {
                txt1.Text = Convert.ToString(str1 + "4");
            }
        }        private void btn5_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            if (str1[0] == '0' && str1.Length == 1)
            {
                txt1.Text = Convert.ToString("5");
            }
            else
            {
                txt1.Text = Convert.ToString(str1 + "5");
            }
                
            
        }        private void btn6_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            if (str1[0] == '0' && str1.Length == 1)
            {
                txt1.Text = Convert.ToString("6");
            }
            else
            {
                txt1.Text = Convert.ToString(str1 + "6");
                
            }
              
            
        }        private void btn7_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            if (str1[0] == '0' && str1.Length == 1)
            {
                txt1.Text = Convert.ToString("7");
            }
            else
            {
                txt1.Text = Convert.ToString(str1 + "7");
            }
             
        }    
                private void btn8_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            if (str1[0] == '0' && str1.Length == 1)
            {
                txt1.Text = Convert.ToString("8");
            }
            else
            {
                txt1.Text = Convert.ToString(str1 + "8");
            }
            
            
        }        private void btn9_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            if (str1[0] == '0' && str1.Length == 1)
            {
                txt1.Text = Convert.ToString("9");
            }
            else
            {
               
                    txt1.Text = Convert.ToString(str1 + "9");
            }
              
            
        }        private void btn0_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            if (str1[0] == '0' &&str1.Length==1)
            {
                txt1.Text = Convert.ToString("0");
            }
            else
            {
               
              
                    txt1.Text = Convert.ToString(str1 + "0");
            }
              
            
        }        private void button10_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            int i=str1.Length;
            i = i - 1;
           
            if (str1[i] == '0' || str1[i] == '1' || str1[i] == '2' || str1[i] == '3' || str1[i] == '4' || str1[i] == '5' || str1[i] == '6' || str1[i] == '7' || str1[i] == '8' || str1[i] == '9')
            {
                txt1.Text = str1 + '.';
            }
            else 
            {
                return;
            }
            
        }        private void btnjia_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            int i = str1.Length;
            i = i - 1;
            if ((str1[i] == '+') || (str1[i] == '-') || (str1[i] == '*') || (str1[i] == '/'))
            {                return;
            }            else 
            {
                txt1.Text = str1 + '+';
            }
        }        private void btnjian_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            int i = str1.Length;
            i = i - 1;
            if ((str1[i] == '+') || (str1[i] == '-') || (str1[i] == '*') || (str1[i] == '/'))
            {                return;
            }            else
            {
                txt1.Text = str1 + '-';
            }        }        private void btncheng_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            int i = str1.Length;
            i = i - 1;
            if ((str1[i] == '+') || (str1[i] == '-') || (str1[i] == '*') || (str1[i] == '/'))
            {                return;
            }            else
            {
                txt1.Text = str1 + '*';
            }
        }        private void btnchu_Click(object sender, EventArgs e)
        {
            string str1 = txt1.Text;
            int i = str1.Length;
            i = i - 1;
            if ((str1[i] == '+') || (str1[i] == '-') || (str1[i] == '*') || (str1[i] == '/'))
            {                return;
            }            else
            {
                txt1.Text = str1 + '/';
            }
        }        private void button15_Click(object sender, EventArgs e)
        {            double i1, i2, i3, i4, i5, i6, i7;
            string str1 = txt1.Text;
            i4 = str1.IndexOf('+');
            if (i4 >= 0)
            {
                string[] str2 = str1.Split('+');                double.TryParse(str2[0], out i1);
                double.TryParse(str2[1], out i2);
                i3 = i1 + i2;
                txt1.Text = Convert.ToString(i3);
            }
            else
            {
                i5=str1.IndexOf('-');
                if (i5>= 0)
                {
                    string[] str2 = str1.Split('-');                    double.TryParse(str2[0], out i1);
                    double.TryParse(str2[1], out i2);
                    i3 = i1 -i2;
                    txt1.Text = Convert.ToString(i3);
                }
                i6 = str1.IndexOf('*');
                if (i6 >= 0)
                {
                    string[] str2 = str1.Split('*');                    double.TryParse(str2[0], out i1);
                    double.TryParse(str2[1], out i2);
                    i3 = i1 * i2;
                    txt1.Text = Convert.ToString(i3);
                }
                else
                {
                    i7 = str1.IndexOf('/');
                    if (i7>= 0)
                    {
                        string[] str2 = str1.Split('/');                        double.TryParse(str2[0], out i1);
                        double.TryParse(str2[1], out i2);
                        i3 = i1 / i2;
                        txt1.Text = Convert.ToString(i3);
                    }
                }
            }
        }        private void button2_Click(object sender, EventArgs e)
        {
            int i;
            string str1 = txt1.Text;
            i = str1.Length;
            string str2 = str1.Substring(0, i - 1);
            txt1.Text = str2;
        }        private void button1_Click(object sender, EventArgs e)
        {
            txt1.Text = Convert.ToString(0);
        }   
    }
}

解决方案 »

  1.   

    可以把这些按钮都发到一个处理过程里面:
    private void btn_Click(object sender, EventArgs e)
    {
        Button btn = sender as Button;
        string str1 = txt1.Text;
        if (str1[0] == '0' && str1.Length == 1)
        {
            txt1.Text = Convert.ToString(btn.Text);
        }
        else
        {
            txt1.Text = Convert.ToString(str1 + btn.Text);
        }
    }
      

  2.   

    namespace 计算器别用汉字!呵呵