<Type Name="HBox" FullName="Gtk.HBox">
  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class HBox : Gtk.Box" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>2.12.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>An HBox is a specific type of <see cref="T:Gtk.Container" /> for packing widgets horizontally.</summary>


<example><code lang="C#">
using System;
using Gtk;

class HBoxTester {
     
     static void Main ()
     {
          Application.Init ();
          Window myWindow = new Window ("HBox Widget");
          HBox myBox = new HBox (false, 4);

          //Add some buttons to the horizontal box
          AddButton (myBox);
          AddButton (myBox);
          
          //Add the box to a Window container
          myWindow.Add (myBox);
          myWindow.ShowAll ();
          Application.Run ();
     }

     static void AddButton (HBox box)
     {
          box.PackStart (new Button ("Button"), true, false, 0);
     }     
}
  </code></example><example><code lang="Visual Basic .NET">
Imports System
Imports Gtk

Class HBoxTester
        Shared Sub Main ()
                Application.Init ()
                Dim myWindow As New Window ("HBox Widget")

                Dim myBox As New HBox (False, 0)

                ' Add the box to a Window container
                myWindow.Add (myBox)
                myWindow.SetDefaultSize (250, 40)

                ' Add some buttons to the box
                HBoxTester.AddButton (myBox)
                HBoxTester.AddButton (myBox)
                HBoxTester.AddButton (myBox)

                myWindow.ShowAll ()
                Application.Run ()
        End Sub

        Shared Sub AddButton (ByVal box As HBox)
                box.PackStart (New Button ("Button"), True, False, 0)
        End Sub
End Class

  </code></example>
    <remarks>
      <para>Other ways of laying out widgets include using a vertical box, (see <see cref="T:Gtk.VBox" />), a table, (see <see cref="T:Gtk.Table" />), button boxes, etc.</para>
      <para>
    	Useful methods for manipulating boxes can be found in the superclass for HBox, <see cref="T:Gtk.Box" />.
    </para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>Gtk.Box</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public HBox (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="raw">Pointer to the C object.</param>
        <remarks>
          <para>This is an internal constructor, and should not be used by user code.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public HBox (bool homogeneous, int spacing);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="homogeneous" Type="System.Boolean" />
        <Parameter Name="spacing" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>The main way to create a new HBox.</summary>
        <param name="homogeneous">If <see langword="true" />, all widgets in the box are forced to be equally sized.</param>
        <param name="spacing">The number of pixels to place between each widget in the box.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>GType Property.</summary>
        <value>a <see cref="T:GLib.GType" /></value>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.HBox" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected HBox (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Protected Constructor.</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
      </Docs>
      <Attributes>
        <Attribute>
          <AttributeName>System.Obsolete</AttributeName>
        </Attribute>
      </Attributes>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public HBox ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Default constructor.</summary>
        <remarks />
      </Docs>
    </Member>
  </Members>
</Type>
