我有一个 Gtk 滚动窗口,我正在尝试附加一个 PopupMenuHandler 函数,如下所示:
this.scrolledwindow1.PopupMenu += HandlePopupMenu;
HandlePopupMenu 看起来像这样:
[GLib.ConnectBefore]
public void HandlePopupMenu(object o, PopupMenuArgs args)
{
Console.WriteLine("test");
Gtk.Menu mbox = new Gtk.Menu();
Gtk.MenuItem Test = new Gtk.MenuItem("test");
Test.Activated += delegate(object sender, EventArgs e) {
Console.WriteLine("test");
};
mbox.Append(Test);
mbox.ShowAll();
mbox.Popup();
}
我的问题是,当我右键单击滚动窗口时,这个事件永远不会被调用。我假设它应该基于this。只有一个其他事件处理 ScrollEvent,没有处理键盘或鼠标按钮。谁能告诉我为什么这不起作用?