小弟写了这个小小的计算器程序,写了好几次都都出现错误。一开始以为:小弟改了一些不应该改的东西才导致错误。但是好几次重新做了一遍又一遍的。都是提示这样的错误:错误 1 类型“实数四则运算器.Form1”已定义了一个名为“Dispose”的具有相同参数类型的成员
恳请高手。给小弟,指出错误的改正方法。。小弟无尽感激。namespace abc
{
public partial class Form1 : Form
{
//存储第一个操作数
protected long iNum1;
//存储运算符
protected char cOperator;
//是否开始输入新的一个数
protected bool bNumBegins; private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Button button6;
private System.Windows.Forms.Button button7;
private System.Windows.Forms.Button button8;
private System.Windows.Forms.Button button9;
private System.Windows.Forms.Button button0; private System.Windows.Forms.Button btnAdd; //实现+法
private System.Windows.Forms.Button btnMultiply; //实现在乘法
private System.Windows.Forms.Button btnDivide; //实现除法
private System.Windows.Forms.Button btnSubstract; //实现在减法
private System.Windows.Forms.TextBox txtOutput; //实现等于输入
private System.ComponentModel.Container components = null;//获取 Container 中的所有组件。 public Form1()
{
//窗体设计器支持所必需的 InitializeComponent();
InitMembers();
} protected override void Dispose(bool disposing)
{
if (disposing)
{
if(components!=null)
{
components.Dispose();
} }
base.Dispose(disposing); //调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。
} //初始化变量
private void InitMembers()
{
iNum1 = 0;
cOperator = '=';
bNumBegins = true;
}
//当用户按下0-9这10个键时的情况
private void Number_Click(long i)
{
if (txtOutput.Text == "Error")
{
txtOutput.Text = "0";
}
try
{
//取得输入
long iCurrent = long.Parse(txtOutput.Text); if (bNumBegins)
{
iCurrent = i;
bNumBegins = false;
}
else
{
checked { iCurrent = (iCurrent * 10) + 1; }
}
txtOutput.Text = iCurrent.ToString();
}
catch
{
//捕捉异常不处理,
}
}
//当用户按下五个运算符时
private void Operators_Clikc(char op)
{
//
long iCurrent; try
{
iCurrent = long.Parse(txtOutput.Text);
}
catch
{
txtOutput.Text == "Error";
InitMembers();
return;
} //计算结果
long iResult;
try
{
switch (cOperator)
{
case '+':
checked { iResult = iNum1 + iCurrent; }
break;
case '-':
checked { iResult = iNum1 - iCurrent; }
break;
case '*':
checked { iResult = iNum1 * iCurrent; }
break;
case '/':
checked { iResult = iNum1 / iCurrent; }
break;
default:
iResult = iCurrent;
break;
}
}
catch
{
//如果在计算中发生溢出、则显示“Error
txtOutput.Text = "Error";
InitMembers();
return;
}
//把输出结果,并把当前的结果保存起来。
txtOutput.Text = txtOutput.ToString();
iNum1 = iResult;
//准备接受下一个操作数
bNumBegins = true;
//保存符号
cOperator = op;
}
//<summary>
//应用程序的主入口点
//《summary》
//[STAThread] //
static void Main()
{
Application.Run(new Form1());
} private void button1_Click(object sender, EventArgs e)
{
Number_Click(1);
}
private void button2_Click(object sender, EventArgs e)
{
Number_Click(2);
}
private void button3_Click(object sender, EventArgs e)
{
Number_Click(3);
}
private void button4_Click(object sender, EventArgs e)
{
Number_Click(4);
}
private void button5_Click(object sender, EventArgs e)
{
Number_Click(5);
}
private void button6_Click(object sender, EventArgs e)
{
Number_Click(6);
}
private void button7_Click(object sender, EventArgs e)
{
Number_Click(7);
}
private void button8_Click(object sender, EventArgs e)
{
Number_Click(8);
}
private void button9_Click(object sender, EventArgs e)
{
Number_Click(9);
}
private void button0_Click(object sender, EventArgs e)
{
Number_Click(0);
}
private void btnAdd_Click(object sender, EventArgs e)
{
Operators_Clikc('+');
}
private void btnSubstract_Click(object sender, EventArgs e)
{
Operators_Clikc('-');
}
private void btnMultiply_Click(object sender, EventArgs e)
{
Operators_Clikc('*');
}
private void btnDivide_Click(object sender, EventArgs e)
{
Operators_Clikc('/');
}
private void btnEquals_Click(object sender, EventArgs e)
{
Operators_Clikc('=');
}
}
}
}
恳请高手。给小弟,指出错误的改正方法。。小弟无尽感激。namespace abc
{
public partial class Form1 : Form
{
//存储第一个操作数
protected long iNum1;
//存储运算符
protected char cOperator;
//是否开始输入新的一个数
protected bool bNumBegins; private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Button button6;
private System.Windows.Forms.Button button7;
private System.Windows.Forms.Button button8;
private System.Windows.Forms.Button button9;
private System.Windows.Forms.Button button0; private System.Windows.Forms.Button btnAdd; //实现+法
private System.Windows.Forms.Button btnMultiply; //实现在乘法
private System.Windows.Forms.Button btnDivide; //实现除法
private System.Windows.Forms.Button btnSubstract; //实现在减法
private System.Windows.Forms.TextBox txtOutput; //实现等于输入
private System.ComponentModel.Container components = null;//获取 Container 中的所有组件。 public Form1()
{
//窗体设计器支持所必需的 InitializeComponent();
InitMembers();
} protected override void Dispose(bool disposing)
{
if (disposing)
{
if(components!=null)
{
components.Dispose();
} }
base.Dispose(disposing); //调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。
} //初始化变量
private void InitMembers()
{
iNum1 = 0;
cOperator = '=';
bNumBegins = true;
}
//当用户按下0-9这10个键时的情况
private void Number_Click(long i)
{
if (txtOutput.Text == "Error")
{
txtOutput.Text = "0";
}
try
{
//取得输入
long iCurrent = long.Parse(txtOutput.Text); if (bNumBegins)
{
iCurrent = i;
bNumBegins = false;
}
else
{
checked { iCurrent = (iCurrent * 10) + 1; }
}
txtOutput.Text = iCurrent.ToString();
}
catch
{
//捕捉异常不处理,
}
}
//当用户按下五个运算符时
private void Operators_Clikc(char op)
{
//
long iCurrent; try
{
iCurrent = long.Parse(txtOutput.Text);
}
catch
{
txtOutput.Text == "Error";
InitMembers();
return;
} //计算结果
long iResult;
try
{
switch (cOperator)
{
case '+':
checked { iResult = iNum1 + iCurrent; }
break;
case '-':
checked { iResult = iNum1 - iCurrent; }
break;
case '*':
checked { iResult = iNum1 * iCurrent; }
break;
case '/':
checked { iResult = iNum1 / iCurrent; }
break;
default:
iResult = iCurrent;
break;
}
}
catch
{
//如果在计算中发生溢出、则显示“Error
txtOutput.Text = "Error";
InitMembers();
return;
}
//把输出结果,并把当前的结果保存起来。
txtOutput.Text = txtOutput.ToString();
iNum1 = iResult;
//准备接受下一个操作数
bNumBegins = true;
//保存符号
cOperator = op;
}
//<summary>
//应用程序的主入口点
//《summary》
//[STAThread] //
static void Main()
{
Application.Run(new Form1());
} private void button1_Click(object sender, EventArgs e)
{
Number_Click(1);
}
private void button2_Click(object sender, EventArgs e)
{
Number_Click(2);
}
private void button3_Click(object sender, EventArgs e)
{
Number_Click(3);
}
private void button4_Click(object sender, EventArgs e)
{
Number_Click(4);
}
private void button5_Click(object sender, EventArgs e)
{
Number_Click(5);
}
private void button6_Click(object sender, EventArgs e)
{
Number_Click(6);
}
private void button7_Click(object sender, EventArgs e)
{
Number_Click(7);
}
private void button8_Click(object sender, EventArgs e)
{
Number_Click(8);
}
private void button9_Click(object sender, EventArgs e)
{
Number_Click(9);
}
private void button0_Click(object sender, EventArgs e)
{
Number_Click(0);
}
private void btnAdd_Click(object sender, EventArgs e)
{
Operators_Clikc('+');
}
private void btnSubstract_Click(object sender, EventArgs e)
{
Operators_Clikc('-');
}
private void btnMultiply_Click(object sender, EventArgs e)
{
Operators_Clikc('*');
}
private void btnDivide_Click(object sender, EventArgs e)
{
Operators_Clikc('/');
}
private void btnEquals_Click(object sender, EventArgs e)
{
Operators_Clikc('=');
}
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货