次のように PopupMenuHandler 関数をアタッチしようとしている Gtk スクロール ウィンドウがあります。
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 を処理する他のイベントは 1 つだけで、キーボードまたはマウス ボタンを処理するイベントはありません。これが機能しない理由を誰か教えてもらえますか?