سؤال

The following code does not trigger the KeyPress event when the user presses a key...

public class FooWidget : DrawingArea {

    public FooWidget () {
        this.AddEvents ((int)Gdk.EventMask.KeyPressMask);
    }

    [GLib.ConnectBefore]
    protected override bool OnKeyPressEvent (Gdk.EventKey evnt) {
        Console.WriteLine (evnt);
        return base.OnKeyPressEvent (evnt);
    }

}

What is going wrong?

هل كانت مفيدة؟

المحلول

Found it myself:

You need to be able to focus on the Widget:

this.CanFocus = true;
this.Focus();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top