经过一段时间的讨论后,似乎与Winforms不同(至少没有和他们一起玩过),GTK似乎将关键事件传递给widget树,所以,下面的代码工作得很好,重点关注在窗口小部件的任何:
public class ConnectWindow : GTK.Window
{
public ConnectWindow(Window parent)
: base(WindowType.Toplevel)
{
this.Parent = parent;
_init();
}
private void _init()
{
this.Title = "Connect to...";
this.Modal = true;
this.WindowPosition = WindowPosition.Center;
this.KeyReleaseEvent += ConnectWindow_KeyReleaseEvent;
// [snip] other initialisation stuff
}
void ConnectWindow_KeyReleaseEvent(object o, KeyReleaseEventArgs args)
{
if (args.Event.Key == Gdk.Key.Escape)
{
btnCancel.Activate();
}
}
}
请阅读编辑我只是把......我了解的WinForms的作品,我需要在GTK#相同的功能,但(这是我使用的是什么)。 – 2009-06-12 10:20:42