gtk-sharp 0.0.0.0 neutral Gtk# is thread aware, but not thread safe; See the Gtk# Thread Programming for details. Convenient message window presents a with an image representing the (Error, Question, etc.) alongside some message text. It is available as a convenience. You could construct the equivalent of from without too much effort, but saves typing. The is displayed using , which automatically makes the modal and waits for the user to respond to it. returns when any in the is clicked or the is closed. After returns, you are responsible for hiding (using ) or destroying (using ) the dialog if you wish to do so. A simple message dialog MessageDialog md = new MessageDialog (parent_window, DialogFlags.DestroyWithParent, MessageType.Error, ButtonsType.Close, "Error loading file"); int result = md.Run (); md.Destroy(); A yes/no message dialog MessageDialog md = new MessageDialog (parent_window, DialogFlags.DestroyWithParent, MessageType.Question, ButtonsType.YesNo, "Are you sure you want to quit?"); ResponseType result = (ResponseType)md.Run (); if (result == ResponseType.Yes) Application.Quit(); else md.Destroy(); If you would like the to not be modal, set the property to . md.Modal = false; Gtk.Dialog Atk.Implementor GLib.IWrapper GLib.IWrapper System.IDisposable Method System.Void Disposes the resources associated with the object. Constructor Internal constructor Pointer to the C object. An instance of , wrapping the C object. This is an internal constructor, and should not be used by user code. Constructor Creates an instance of an object of type an object of type an object of type an object of type an object of type an object of type Creates an instance of MessageDialog md = new MessageDialog (parent_window, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Close, "Error loading file"); Property Gtk.MessageType The of the an object of type The of the Property GLib.GType GType Property. a Returns the native value for . Constructor Protected Constructor. a a Chain to this constructor if you have manually registered a native value for your subclass.