質問

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