日期:2014-05-18  浏览次数:20827 次

c#计算器怎样共享一个相同事件呢
/// <summary>
  /// 自定义的数字处理方法
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  private void numberClick(object sender, EventArgs e)
  {
  //Button btn = sender as Button;
  Button btn=(Button)sender;
  if (x == true)
  {
  txtCal.Clear();
  x = false;
  }
  MessageBox.Show("times");
  txtCal.Text += btn.Text;


  }//number_click()


  private void button7_Click(object sender, EventArgs e)//数字7
  {
  //C# 共享事件处理程序
  button7.Click += new System.EventHandler(this.numberClick);
  //_strFst+=button7.Text;

  }
代码如上,我每次点7 然后就会递增7 很郁闷 
问题出在哪里呢?多谢大家帮忙

------解决方案--------------------
private void button7_Click(object sender, EventArgs e)//数字7 

//C# 共享事件处理程序 
button7.Click += new System.EventHandler(this.numberClick); 
//_strFst+=button7.Text; 

}
把button7.Click += new System.EventHandler(this.numberClick); 写到类的Load事件中
------解决方案--------------------
你应该在窗体构造函数中写button7.Click += new System.EventHandler(this.numberClick); 
这样我觉得科学一点
------解决方案--------------------
接分