<Type Name="VBox" FullName="Gtk.VBox">
  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class VBox : Gtk.Box" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit VBox extends Gtk.Box" />
  <AssemblyInfo>
    <AssemblyName>gtk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
  </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>
  <Base>
    <BaseTypeName>Gtk.Box</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Docs>
    <summary>A VBox is a specific type of <see cref="T:Gtk.Container" /> for packing widgets vertically.</summary>
    <remarks>
      <para>Other ways of laying out widgets include using a horizontal box, (see <see cref="T:Gtk.HBox" />), 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>
      <para>Here is a simple example of the class' usage:</para>
      <example>
        <code lang="C#">
using System;
using Gtk;

class VBoxTester {
	
	static void Main ()
	{
		Application.Init ();
		Window myWindow = new Window ("VBox Widget");

		VBox myBox = new VBox (false, 4);
		
		//Add the box to a Window container
		myWindow.Add (myBox);
		myWindow.ShowAll ();
		Application.Run ();
	}

	static void AddButton (VBox box)
	{
		box.PackStart (new Button ("Button"), true, false, 0);
	}	
}
  </code>
      </example>
    </remarks>
    <example>
      <code lang="C#">
using System;
using Gtk;

class VBoxTester {
	
	static void Main ()
	{
		Application.Init ();
		Window myWindow = new Window ("VBox Widget");
		myWindow.SetDefaultSize (250, 100);

		VBox myBox = new VBox (false, 4);
		
		//Add the box to a Window container
		myWindow.Add (myBox);

		// Add some buttons to the container
		VBoxTester.AddButton (myBox);
		VBoxTester.AddButton (myBox);
		VBoxTester.AddButton (myBox);		

		myWindow.ShowAll ();
		Application.Run ();
	}

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

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

                Dim myBox As New VBox (False, 0)

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

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

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

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

  </code>
    </example>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public VBox ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>VBox Constructor.</summary>
        <remarks>Instantiates a <see cref="T:Gtk.VBox" /> object using default values for the spacing and homogeneous attributes.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public VBox (IntPtr raw);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="raw">Pointer to the C object.</param>
        <summary>Internal constructor</summary>
        <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 VBox (bool homogeneous, int spacing);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(bool homogeneous, int32 spacing) cil managed" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="homogeneous" Type="System.Boolean" />
        <Parameter Name="spacing" Type="System.Int32" />
      </Parameters>
      <Docs>
        <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>
        <summary>The main way to create a new VBox</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
      <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 GObject type for <see cref="T:Gtk.VBox" />.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
