尝试使事件处理程序运行,但不仅如此,请理解这些内容背后的语法。编译以下代码,我可以在Form1中看到我的DataGrid“ SemesterView”,但是当我单击单元格nuthin上的控件SemesterView时,没有触发任何事件。我做错了什么?如果我误解了“ Enter”键,但我仍然玩其他事件。
在form1代码内
SemesterView semesterView;
semesterView = new SemesterView();
this.Controls.Add(semesterView);
semesterView.Enter += new SemesterView.EventHandler(semesterView.MyEvent1);
以及在SemesterView类中
class SemesterView : DataGridView
{
public delegate void EventHandler(string p);
public event EventHandler Enter;
public SemesterView()
{// code to create columns rows etc}
public void MyEvent1(string p)
{ MessageBox.Show("event 1 works");}
}
答案 0 :(得分:1)
您要创建一个方法来处理SemesterView中的事件并将该事件绑定到处理程序:
class SemesterView : DataGridView
{
public void MyEvent(object sender, EventArgs args)
{
}
}
然后在Form1中
SemesterView semesterView;
semesterView = new SemesterView();
this.Controls.Add(semesterView);
semesterView.Enter += semesterView.MyEvent;