Понимание C# Обработчик событий: почему нет событий? - PullRequest
0 голосов
/ 16 января 2020

Попытка запустить обработчик событий, но более того, понять синтаксис этих вещей. Следующий код компилируется, я вижу свою DataGrid «SemesterView» внутри Form1, но никакое событие не запускается, когда вводится элемент управления SemesterView, когда я нажимаю на ячейку, nuthin. Что я делаю не так? Я играл с другими событиями на случай, если я неправильно понимаю «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 Ответ

1 голос
/ 16 января 2020

Вы хотите создать метод, который обрабатывает событие в SemesterView и t ie событие в обработчик:

class SemesterView : DataGridView
{
    public void MyEvent(object sender, EventArgs args)
    {

    }
}

Затем в Form1

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