了解 C# 事件处理程序:为什么没有事件?

Understanding C# Event Handler: why no event?

尝试让事件处理程序运行,但更重要的是,了解这些东西背后的语法。下面的代码编译后,我可以在 Form1 中看到我的 DataGrid "SemesterView",但是在输入控件 SemesterView 时,当我单击一个单元格时,没有触发任何事件,nuthin。我做错了什么?我已经尝试过其他事件以防我误解 "Enter" 但仍然一无所获。

form1代码内

SemesterView semesterView;
semesterView = new SemesterView();
this.Controls.Add(semesterView);
semesterView.Enter += new SemesterView.EventHandler(semesterView.MyEvent1);

并在 SemesterView 中 class

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");}
}

您想创建一个方法来处理 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;