<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 Adjustment object represents a value with an associated <seecref="P:Gtk.Adjustment.Lower"/> and <seecref="P:Gtk.Adjustment.Upper"/> bound, together with a <seecref="P:Gtk.Adjustment.StepIncrement"/>, <seecref="P:Gtk.Adjustment.PageIncrement"/>, and a <seecref="P:Gtk.Adjustment.PageSize"/>.</para>
<para>The Adjustment object does not update the value itself. Instead it is left up to the owner of the Adjustment to control the value. The owner of the Adjustment typically calls the <seecref="M:Gtk.Adjustment.ValueChanged"/> and <seecref="M:Gtk.Adjustment.Changed"/> methods after changing the value or its bounds, respectively. This results in the emission of the <seecref="F:Gtk.Adjustment.ValueChanged"/> or <seecref="F:Gtk.Adjustment.Changed"/> events respectively.</para>
<para>An Adjustment is used within several widgets, including <seecref="T:Gtk.SpinButton"/>, <seecref="T:Gtk.Viewport"/>, and <seecref="T:Gtk.Range"/> (which is a base class for <seecref="T:Gtk.HScrollbar"/>, <seecref="T:Gtk.VScrollbar"/>, <seecref="T:Gtk.HScale"/>, and <seecref="T:Gtk.VScale"/>).</para>
<paramname="page_size">The page size. In a <seecref="T:Gtk.Scrollbar"/> this is the size of the area that is currently visible.</param>
<remarks>
<para>When updating the values and properties of an Adjustment, remember to call the <seecref="M:Gtk.Adjustment.Changed"/> and/or <seecref="M:Gtk.Adjustment.ValueChanged"/> methods to ensure the correct events are fired.</para>
<summary>Fires the <seecref="F:Gtk.Adjustment.ValueChanged"/> event.</summary>
<remarks>
<para>This method should be called manually after changing properties to notify all listening objects that the Adjustment's <seecref="P:Gtk.Adjustment.Value"/> has changed.</para>
<summary>Fires the <seecref="F:Gtk.Adjustment.Changed"/> event.</summary>
<remarks>
<para>This method should be called manually after changing properties to notify all listening objects that one or more of the Adjustment's bounds have changed.</para>
This method should be used to set the currently visible range to (<paramrefname="lower"/>, <paramrefname="upper"/>).If necessary, the current <seecref="P:Gtk.Adjustment.Value"/> is changed to ensure that it is visible within the new scope.
</para>
<para>
If the specified range is larger than the <seecref="T:Gtk.Adjustment.PageSize"/>, then only the start of it will make up the new "current page".
</para>
<para>
The <seecref="F:Gtk.Adjustment.ValueChanged"/> event will be fired if the <seecref="P:Gtk.Adjustment.Value"/> changes as a result of this method. <seecref="M:Gtk.Adjustment.Change"/> must be called manually if the <seecref="F:Gtk.Adjustment.Changed"/> event should be fired.
<para>In a <seecref="T:Gtk.Scrollbar"/> this increment is used when the mouse is clicked on the arrows at the top and bottom of the <seecref="T:Gtk.Scrollbar"/>, to scroll by a small amount.</para>
<para>If you set this property, you should manually call <seecref="M:Gtk.Adjustment.ChangeValue"/> so that all listening objects are notified of the change.</para>
<summary>This event is fired when <seecref="M:Gtk.Adjustment.ChangeValue"/> is called.</summary>
<remarks>
<para>This event can be handled to be notified of changes to the Adjustment's value. However, this relies on all objects that change the <seecref="P:Gtk.Adjustment.Value"/> calling <seecref="M:Gtk.Adjustment.ChangeValue"/>.</para>
<summary>This event is fired when <seecref="M:Gtk.Adjustment.Change"/> is called.</summary>
<remarks>
<para>If the Adjustment's properties change, (such as <seecref="P:Gtk.Adjustment.Upper"/>, <seecref="P:Gtk.Adjustment.Lower"/> etc.), it is up to whichever class changes the values to call <seecref="M:Gtk.Adjustment.Change"/> to ensure this event is fired.</para>
<returns>Creates a new instance of Adjustment, using the GLib-provided type</returns>
<remarks>
<para>This is a constructor used by derivative types of <seecref="T:Gtk.Adjustment"/> that would have their own GLib type assigned to it. This is not typically used by C# code.</para>