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

时间:2020-01-16 18:32:19

标签: c# .net winforms event-handling

尝试使事件处理程序运行,但不仅如此,请理解这些内容背后的语法。编译以下代码,我可以在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");}
}

1 个答案:

答案 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;
相关问题