Gtk.OptionMenu Class
A widget used to choose from a list of valid choices.

See Also: OptionMenu Members


public class OptionMenu : Button


A Gtk.OptionMenu is a widget that allows the user to choose from a list of valid choices. The Gtk.OptionMenu displays the selected choice. When activated the Gtk.OptionMenu displays a popup Gtk.Menu which allows the user to make a new choice.

Using a Gtk.OptionMenu is simple; build a Gtk.Menu, by calling Menu(), then appending Gtk.MenuItems to it with MenuShell.Append(). Set that menu on the Gtk.OptionMenu with OptionMenu.Menu. Set the selected Gtk.MenuItem with OptionMenu.SetHistory(uint); connect to the event OptionMenu.Changed; when the OptionMenu.Changed event occurs, check the new selected Gtk.MenuItem with OptionMenu.History.



using System;
using Gtk;

class OptionMenuSample
	OptionMenu opt;
	static void Main ()
		new OptionMenuSample ();
	OptionMenuSample ()
		Application.Init ();
		Window win = new Window ("OptionMenuSample");
		win.DeleteEvent += new DeleteEventHandler (OnWinDelete);
		// set up the OptionMenu
		opt = new OptionMenu ();
		opt.Changed += new EventHandler (OnOptionChanged);
		Menu m = new Menu ();
		MenuItem miOne = new MenuItem ("One");
		m.Append (miOne);
		MenuItem miTwo = new MenuItem ("Two");
		m.Append (miTwo);
		MenuItem miThree = new MenuItem ("Three");
		m.Append (miThree);
		// add children widgets to their parents
		opt.Menu = m;
		win.Add (opt);
		// set the OptionMenu to a value
		opt.SetHistory (2);
		win.ShowAll ();
		Application.Run ();
	void OnOptionChanged (object o, EventArgs args)
		Console.WriteLine (opt.History);
	void OnWinDelete (object o, DeleteEventArgs args)
		Application.Quit ();


Namespace: Gtk
Assembly: gtk-sharp (in gtk-sharp.dll)
Assembly Versions: