我是 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)
{
}
}
}
我得到这个错误:
我尝试将其更改为 CWindowsGUI,但没有成功,或者删除了有问题的位,或者许多其他外行修复。它还显示在设计器窗口中:
CWindowsGUI.Designer.cs 上的命名空间与实际代码相同