无法找到类型或命名空间'Form1'

时间:2013-08-27 03:01:12

标签: c#

我是c#的新手,在查看了这个主题的其他主题后,我仍然不知道如何解决这个问题:C。 我正在尝试制作一个简单的计算器,以下是代码:

   //Global Variables 
    string sign;
    double val1;
    double val2;

    int trackkeypoint = 0;

    public void Calculator()

    {
        InitializeComponent();
    }
    private void cmd0_Click(object sender, EventArgs e)
    {
        txtbox.Text = txtbox.Text + cmd0.Text;
    }
    private void cmd1_Click(object sender, EventArgs e)
    {
        txtbox.Text=txtbox.Text+cmd1.Text;
    }
    private void cmd2_Click(object sender, EventArgs e)
    {
        txtbox.Text=txtbox.Text+cmd2.Text;
    }

    private void cmd3_Click(object sender, EventArgs e)
    {
        txtbox.Text=txtbox.Text+cmd3.Text;
    }

    private void cmd4_Click(object sender, EventArgs e)
    {
        txtbox.Text=txtbox.Text+cmd4.Text;
    }

    private void cmd5_Click(object sender, EventArgs e)
    {
        txtbox.Text=txtbox.Text+cmd5.Text;
    }

    private void cmd6_Click(object sender, EventArgs e)
    {
        txtbox.Text=txtbox.Text+cmd6.Text;
    }

    private void cmd7_Click(object sender, EventArgs e)
    {
        txtbox.Text=txtbox.Text+cmd7.Text;
    }

    private void cmd8_Click(object sender, EventArgs e)
    {
        txtbox.Text=txtbox.Text+cmd8.Text;
    }

    private void cmd9_Click(object sender, EventArgs e)
    {
        txtbox.Text=txtbox.Text+cmd9.Text;
    }
     private void cmdequal_Click(object sender, EventArgs e)
    {

         val2 = double.Parse(txtbox.Text);
         double result;

         if(sign=="+")
         {
             result = val1 + val2;
             txtbox.Text = result.ToString();

         }
         else if(sign=="-")
         {
             result = val1 - val2;
             txtbox.Text = result.ToString();
         }
         else if(sign=="X")
         {
             result = val1 * val2;
             txtbox.Text = result.ToString();
         }
         else if(sign=="/")
         {
             result = val1 / val2;
             txtbox.Text = result.ToString();

         }

    }


    private void cmdclear_Click(object sender, EventArgs e)
    {
        //Clears text
        txtbox.Text = "";

        val1 = 0;

        val2 = 0;

        sign = "";

    }

    private void cmdplus_Click(object sender, EventArgs e)
    {
        sign = "+";
        val1 = double.Parse(txtbox.Text);
        txtbox.Text = "";

    }

    private void cmdsubtract_Click(object sender, EventArgs e)
    {
        sign = "-";
        val1 = double.Parse(txtbox.Text);
        txtbox.Text = "";
    }

    private void cmdmultiply_Click(object sender, EventArgs e)
    {
        sign = "X";
        val1 = double.Parse(txtbox.Text);
        txtbox.Text = "";
    }

    private void cmddivide_Click(object sender, EventArgs e)
    {
        sign = "/";
        val1 = double.Parse(txtbox.Text);
        txtbox.Text = "";
    }

    private void cmdsqrt_Click(object sender, EventArgs e)
    {
        double v;
        v = double.Parse(txtbox.Text);
        txtbox.Text = Math.Sqrt(v).ToString();
    }

    private void cmdsquare_Click(object sender, EventArgs e)
    {
        double v;
        v = double.Parse(txtbox.Text);
        txtbox.Text = Math.Pow(v,2).ToString();
    }

    private void cmdsin_Click(object sender, EventArgs e)
    {
        double v;
        v = double.Parse(txtbox.Text);
        txtbox.Text = Math.Sin(v).ToString();
    }

    private void cmdcos_Click(object sender, EventArgs e)
    {
        double v;
        v = double.Parse(txtbox.Text);
        txtbox.Text = Math.Cos(v).ToString();
    }

    private void cmdtan_Click(object sender, EventArgs e)
    {
        double v;
        v = double.Parse(txtbox.Text);
        txtbox.Text = Math.Tan(v).ToString();
    }
    private void Form1_Load(object sender, EventArgs e)
    {

    }
     private void txtbox_TextChanged(object sender, EventArgs e)

    {

    }
     private void txtbox_KeyPress(object sender, KeyPressEventArgs e)

    {

        int keycode;

        keycode = e.KeyChar;

        //accept only number from key 0 to key 9, key back, and key dot

        if (keycode >= 48 && keycode <= 57 || keycode==8 || keycode==32 || keycode==46)

        {

            //key dot allowed only one time

            if (keycode == 46) ++trackkeypoint;

            if (trackkeypoint > 1) { e.Handled = true; --trackkeypoint; }

        }

        else e.Handled = true;

    }



    private void txtbox_KeyDown(object sender, KeyEventArgs e)

    {





           }

    }
}

我收到此错误:

screenshot1

我尝试将其更改为CWindowsGUI,但这不起作用,或删除有问题的位,或许多其他外行修复程序。它也出现在设计器窗口中:

screenshot2

CWindowsGUI.Designer.cs上的命名空间与实际代码一样

2 个答案:

答案 0 :(得分:3)

查看您提供的课程,我认为您已将Form1重命名为Calculator

所以试试:

Application.Run(new Calculator());

编辑:

CWindowsGUI.cs

  public partial class Calculator : Form
  {
     public Calculator() // Not public void Calculator()
     {
       InitializeComponent();
     }

CWindowsGUI.Designer.cs

  public partial class Calculator 

答案 1 :(得分:0)

首先,您需要修复一些错误

 private void Form1_Load(object sender, EventArgs e)
    {

    }

您没有任何名为Form1的表单似乎在您创建应用程序时,它为您创建了一个名为Form1的表单,您只需从解决方案资源管理器重命名它。 删除此加载事件。

 public void Calculator()

    {
        InitializeComponent();
    }

是表单 CWindowsGUI 的构造函数 构造函数名称应该与表单名称相同。

你想首先运行CWindowsGUI表单吗?

Application.Run(); 

method defines that which form you wants to set as startup that's all

然后尝试:

Application.Run(new CWindowsGUI());

而不是

Application.Run(new Calculator());

我的建议是删除此表单(CWindowsGUI)并创建一个新表单然后该页面上的代码也不要忘记更改

中的表单
Application.Run(new CWindowsGUI());