<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <linklocation="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<summary>A container with a handle and a detachable child widget.</summary>
<remarks><para>The HandleBox widget allows a portion of a window to be "torn off". It is a <seecref="T:Gtk.Bin"/> widget that displays its child with a handle that the user can drag to create a separate floating window containing the child widget and the 'handle'.</para>
<para>A thin ghost is drawn in the original location of the HandleBox. By dragging the separate window back to its original location, it can be reattached. When reattaching, the ghost and float window, must be aligned along one of the edges, the <seecref="P:Gtk.HandlBox.SnapEdge"/>. This can either be specified by the application programmer explicitly, otherwise a reasonable default will be used, based on the <seecref="P:Gtk.HandleBox.HandlePosition"/>.</para>
<para>To make detaching and reattaching the HandleBox as minimally confusing as possible to the user, it is important to set the snap edge so that it does not move when the HandleBox is deattached. For instance, if the HandleBox is packed at the bottom of a <seecref="T:Gtk.VBox"/>, then when the HandleBox is detached, the bottom edge of the HandleBox's allocation will remain fixed as the height of the HandleBox shrinks, so the snap edge should be set to <seecref="P:Gtk.PositionType.Bottom"/>.</para>
<para>The child of this widget is set using the <seecref="M:Gtk.Container.Add"/> method in <seecref="T:Gtk.Container"/>.</para></remarks>
<summary>The main way to create a HandleBox.</summary>
<returns>A new HandleBox.</returns>
<remarks><para>Creates a new HandleBox, with the <seecref="P:Gtk.HandleBox.HandlePosition"/> set to the <seecref="P:Gtk.PositionType.Left"/>.</para></remarks>
<summary>Manage which edge a detached HandleBox must reattach to.</summary>
<paramname="value">The new edge</param>
<returns>The current edge that snapping works with.</returns>
<remarks><para>To ensure good usability, this edge should be set to a side of the HandleBox whose position or size will not be altered when the child is detached.</para></remarks>
<summary>Manage where the handle of this container is placed.</summary>
<paramname="value">A new position for the handle.</param>
<returns>The current position of the handle.</returns>
<remarks><para>Note: In western cultures, anything other than a <seecref="P:Gtk.PositionType.Left"/> handle for horizontal HandleBoxes, or a <seecref="P:Gtk.PositionType.Top"/> handle for vertical HandleBoxes, may seem strange to users.</para><para>The reverse is likely to be true for cultures with languages that are written from right to left.</para></remarks>
<returns>Creates a new instance of HandleBox, using the GLib-provided type</returns>
<remarks>
<para>This is a constructor used by derivative types of <seecref="T:Gtk.HandleBox"/> that would have their own GLib type assigned to it. This is not typically used by C# code.</para>