<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <linklocation="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<para>The Statusbar widget displays textual messages to the user. Statusbars are typically placed at the bottom of application <seecref="T:Gtk.Window"/>s.</para>
<para>A Statusbar may provide a regular commentary of the application's status (as is usually the case in a web browser, for example), or may be used to simply output a message when the status changes, (when an upload is complete in an FTP client, for example).</para>
<para>As a finishing touch to the StatusBar, it can have a "resize grip" added in the lower right corner. This is a triangular area that can be clicked on to resize the window containing the statusbar.</para>
<para>Status bars in Gtk+ maintain a stack of messages. The message at the top of the each bar's stack is the one that will currently be displayed.</para>
<para>Any messages added to a statusbar's stack must specify a <paramrefname="context_id"/> that is used to uniquely identify the source of a message. This <paramrefname="context_id"/> can be generated with <seecref="M:Gtk.Statusbar.GetContextId"/>, given a message. Note that messages are stored in a stack, and when choosing which message to display, the stack structure is adhered to, regardless of the context identifier of a message.</para>
<para>Messages are added to the bar's stack with <seecref="M:Gtk.Statusbar.Push"/>, and the message at the top of the stack can be removed using <seecref="M:Gtk.Statusbar.Pop"/>. A message can be removed from anywhere in the stack if it's <paramrefname="message_id"/> was recorded at the time it was added. This is done using <seecref="M:Gtk.Statusbar.Remove"/>.</para>
<returns>The message's new message id for use with <seecref="M:Gtk.Statusbar.Remove"/>.</returns>
<remarks>
<para>Note that the <paramrefname="context_id"/> and the returned <paramrefname="message_id"/> are equivalent and are both required for <seecref="M:Gtk.Statusbar.Remove"/> to work.</para>
<summary>An event that is fired when a message is pushed onto the Statusbar's message stack using the <seecref="M:Gtk.Statusbar.Push"/> method.</summary>
<remarks>
<para>Connect to this event with a <seecref="T:GtkSharp.TextPushedHandler"/>.</para>
<summary>An event that is fired when a message is popped off the Statusbar's message stack using the <seecref="M:Gtk.Statusbar.Pop"/> method.</summary>
<remarks>
<para>Connect to this event with a <seecref="T:GtkSharp.TextPoppedHandler"/>.</para>
<returns>Creates a new instance of Statusbar, using the GLib-provided type</returns>
<remarks>
<para>This is a constructor used by derivative types of <seecref="T:Gtk.Statusbar"/> that would have their own GLib type assigned to it. This is not typically used by C# code.</para>