ѕример:контекстное меню в Mono .NET GTK# - как реализовать

13:03:2013 –≥.

¬ программировании на WIndows Forms добавление контекстного меню в программу не вызывает сложностей - создаетс€ элемент контекстного меню, заполн€етс€ и далее данный элемент указываетс€ как присоединенный к элементу управлени€, на котором нужно обработать вызов данного контекстного меню.

¬ Mono GTK# механизм выгл€дит несколько по-другому.

«десь нет необходимости заранее создавать экземпл€р контекстного меню. ћожно выполнить его создание на нужном элементе управлени€.

ѕредставим, что у нас есть TreeView, на котором нужно обработать вызов контекстного меню. —начала добавл€ем обработчик нажати€ мыши на этот элемент управлени€.

[GLib.ConnectBefore]
protected void OnTreeview1ButtonPressEvent (object o, Gtk.ButtonPressEventArgs args)
{
     if((int)args.Event.Button == 3)
     {
         Gtk.Menu contextMenu = new Gtk.Menu();
         Gtk.MenuItem item1 = new MenuItem("Element 1");
         contextMenu.Add(item1);
         contextMenu.ShowAll();
         contextMenu.Popup();
     }
}

  1. [GLib.ConnectBefore] выделено жирным специально, без этого указани€ ничего не отработает
  2. 3 - это идентификатор правой кнопки мыши
     

    ƒобавить комментарий


    «ащитный код
    ќбновить

    « –абота с GTK# TreeView в Mono (на примере Monodevelop) –ешение:расширение контейнера в таблице GTK# Mono .NET в Monodevelop »

    ‘отоальбом

    fotic.jpg

    ќблако “егов