Я просто констатирую также и с Node, но я получил похожую ошибку, когда случайно ввел node test
вместо npm test
. Может быть, вы делаете аналогичную ошибку?
Вы также должны помнить, что маска событий должна быть добавлена к вашей DrawingArea:
a.AddEvents ((int)
(EventMask.ButtonPressMask
|EventMask.ButtonReleaseMask
|EventMask.KeyPressMask
|EventMask.PointerMotionMask));
Таким образом, ваш окончательный код должен выглядеть так:
class MainClass
{
static void Main ()
{
Application.Init ();
Gtk.Window w = new Gtk.Window ("");
DrawingArea a = new DrawingArea ();
a.AddEvents ((int) EventMask.ButtonPressMask);
a.ButtonPressEvent += delegate(object o, ButtonPressEventArgs args) {
Console.WriteLine("Button Pressed");
};
w.Add(a);
w.Resize (500, 500);
w.DeleteEvent += close_window;
w.ShowAll ();
Application.Run ();
}
static void close_window(object o, DeleteEventArgs args) {
Application.Quit();
return;
}
}
Если Вы хотите поймать события от нажатия мыши, необходимо использовать ButtonPressEvent, ButtonReleaseEvent и MotionNotifyEvent:
a.ButtonPressEvent += delegate(object o, ButtonPressEventArgs args) {
Console.WriteLine("Button Pressed");
}
KeyPressEvent только для Ключей.