1
GDK事件我試圖攔截單用Gdk.Window.AddFilter(Gdk.FilterFunc)
事件。到目前爲止,我已經能夠連接過濾器函數,但現在我正在嘗試使用過濾器函數中的事件。轉換在單
這是我在過濾功能至今:
private Gdk.FilterReturn FilterFunction(IntPtr xEvent, Gdk.Event evnt)
{
if (evnt.Type == Gdk.EventType.KeyPress)
{
Gdk.EventKey eventKey = (Gdk.EventKey)evnt; // fails here
if (eventKey.Key == this.key && eventKey.State == this.modifiers)
{
this.OnPressed(EventArgs.Empty);
}
}
return Gdk.FilterReturn.Continue;
}
我怎麼能轉換Gdk.Event
到Gdk.EventKey
?我曾嘗試投射它,但似乎並不奏效。
編輯:糟糕!問題在於我無意中在if
語句中添加了分號,使其成爲空白語句。出於某種原因,Gdk.Event
不對應於XEvent
,所以我現在正在追求一個使用XEvent
的解決方案。
謝謝!它不是'EventKey'。 – 2010-03-06 23:46:19