public Form1()
{
InitializeComponent();
}
int _num1 = 0;
FuncOperation;
bool _shouldClear = false;
private void btnNum_Click(object sender, EventArgs e)
{
if (_shouldClear)
{
_shouldClear = false;
textOutput.Clear();
}
var text = ((Button)sender).Text;
textOutput.Text += text;
}
private void btnOper_Click(object sender, EventArgs e)
{
var text = ((Button)sender).Text;
switch (text)
{
case "+": Operation = (i1, i2) => { return i1 + i2; }; break;
case "-": Operation = (i1, i2) => { return i1 - i2; }; break;
case "*": Operation = (i1, i2) => { return i1 * i2; }; break;
case "/": Operation = (i1, i2) => { return 1.0 * i1 / i2; }; break;
}
_num1 = Int32.Parse(textOutput.Text);
textOutput.Clear();
}
private void btnCalc_Click(object sender, EventArgs e)
{
var num2 = Int32.Parse(textOutput.Text);
var rst = Operation(_num1, num2);
textOutput.Text = rst.ToString();
Operation = null;
_shouldClear = true;
}
每个控件ID随意改,根本不需要用到. 我懒,如果有需要你自己改ID好了.
上面只是核心代码, 事件的绑定在界面上. 如果这个也搞不清,就下附件吧