﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ProgressBar" FullName="Gtk.ProgressBar"><TypeSignature Language="C#" Maintainer="John Luke" Value="public class ProgressBar : Gtk.Widget" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ProgressBar extends Gtk.Widget" /><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><Base><BaseTypeName>Gtk.Widget</BaseTypeName></Base><Interfaces></Interfaces><Docs><summary>A widget which indicates progress visually.</summary><remarks><para>The <see cref="T:Gtk.ProgressBar" /> is typically used to display the progress of a long running operation.
				It provides a visual clue that processing is underway.
				The <see cref="T:Gtk.ProgressBar" /> can be used in two different modes: percentage mode and activity mode.</para><para>When an application can determine how much work needs to take place (e.g. read a fixed number of bytes from a file) and can monitor its progress,
				it can use the <see cref="T:Gtk.ProgressBar" /> in percentage mode and the user sees a growing bar indicating the percentage of the work that has been completed.
				In this mode, the application is required to set <see cref="P:Gtk.ProgressBar.Fraction" /> periodically to update the progress bar.</para><para>When an application has no accurate way of knowing the amount of work to do, it can use the <see cref="T:Gtk.ProgressBar" /> in activity mode, which shows activity by a block moving back and forth within the progress area.
				In this mode, the application is required to call <see cref="M:Gtk.ProgressBar.Pulse()" /> perodically to update the progress bar.</para><para>There is quite a bit of flexibility provided to control the appearance of the <see cref="T:Gtk.ProgressBar" />.
				Functions are provided to control the orientation of the bar, optional text can be displayed along with the bar, and the step size used in activity mode can be set.</para><para>
The following example show how percentage mode works
</para><example><code lang="C#">
using System;
using Gtk;

namespace TestGtkAlone
{
	public class TestProgress
	{
		static Gtk.ProgressBar PBar;
		static void Main()
		{
			 Gtk.Application.Init();
			 Gtk.Window WinPBar = new Window("Test Progress bar - Percentage mode");
			 Gtk.HBox HContainer = new Gtk.HBox(false, 2);
			 PBar = new ProgressBar();
			 Gtk.Button ButtonStart = new Gtk.Button("Start Progress");
			 HContainer.Add(PBar);
			 HContainer.Add(ButtonStart);
			 ButtonStart.Clicked += new EventHandler(ButtonStart_Clicked);
			 WinPBar.Add(HContainer);
			 WinPBar.ShowAll();
			 
			 Gtk.Application.Run();
		}
		
		public static void ButtonStart_Clicked(object sender, EventArgs args)
		{
			PBar.Adjustment.Lower = 0;
			PBar.Adjustment.Upper = 1000;
			while (PBar.Adjustment.Value &lt; PBar.Adjustment.Upper) {
				PBar.Adjustment.Value+=1;
			}
		}

	}

}

</code></example></remarks></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ProgressBar ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters /><Docs><summary>Creates a new <see cref="T:Gtk.ProgressBar" />.</summary><remarks>Creates a new <see cref="T:Gtk.ProgressBar" />.</remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected ProgressBar (GLib.GType gtype);" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(valuetype GLib.GType gtype) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes><ReturnValue /><Parameters><Parameter Name="gtype" Type="GLib.GType" /></Parameters><Docs><param name="gtype">a <see cref="T:GLib.GType" /></param><summary>Protected Constructor.</summary><remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ProgressBar (Gtk.Adjustment adjustment);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.Adjustment adjustment) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="adjustment" Type="Gtk.Adjustment" /></Parameters><Docs><param name="adjustment">a <see cref="T:Gtk.Adjustment" /></param><summary>Public constructor.</summary><remarks></remarks><since version="Gtk# 2.4" /></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ProgressBar (IntPtr raw);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><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="ActivityBlocks"><MemberSignature Language="C#" Value="public uint ActivityBlocks { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance unsigned int32 ActivityBlocks" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.Property("activity-blocks")</AttributeName></Attribute><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.UInt32</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>The number of blocks used when the <see cref="T:Gtk.ProgressBar" /> is in activity mode.</summary><value>an object of type <see cref="T:System.UInt32" /></value><remarks>The number of blocks used when the <see cref="T:Gtk.ProgressBar" /> is in activity mode.
					Larger numbers make the visible block smaller.</remarks></Docs></Member><Member MemberName="ActivityStep"><MemberSignature Language="C#" Value="public uint ActivityStep { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance unsigned int32 ActivityStep" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.Property("activity-step")</AttributeName></Attribute><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.UInt32</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>The step value used when the <see cref="T:Gtk.ProgressBar" /> is in activity mode.</summary><value>an object of type <see cref="T:System.UInt32" /></value><remarks>The step value used when the <see cref="T:Gtk.ProgressBar" /> is in activity mode.
					The step is the amount by which the progress is incremented each iteration.</remarks></Docs></Member><Member MemberName="Adjustment"><MemberSignature Language="C#" Value="public Gtk.Adjustment Adjustment { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance class Gtk.Adjustment Adjustment" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.Property("adjustment")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>Gtk.Adjustment</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>Details about the increments used in updating the ProgressBar.</summary><value>an object of type <see cref="T:Gtk.Adjustment" /></value><remarks /></Docs></Member><Member MemberName="BarStyle"><MemberSignature Language="C#" Value="public Gtk.ProgressBarStyle BarStyle { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.ProgressBarStyle BarStyle" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.Property("bar-style")</AttributeName></Attribute><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>Gtk.ProgressBarStyle</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>The style for drawing the <see cref="T:Gtk.ProgressBar" />.</summary><value>an object of type <see cref="T:Gtk.ProgressBarStyle" /></value><remarks>The style for drawing the <see cref="T:Gtk.ProgressBar" />.
					Continuous - The <see cref="T:Gtk.ProgressBar" /> grows in a smooth, continuous manner.
					Discrete - The <see cref="T:Gtk.ProgressBar" /> grows in discrete, visible blocks.</remarks></Docs></Member><Member MemberName="DiscreteBlocks"><MemberSignature Language="C#" Value="public uint DiscreteBlocks { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance unsigned int32 DiscreteBlocks" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.Property("discrete-blocks")</AttributeName></Attribute><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.UInt32</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>The number of blocks that the <see cref="T:Gtk.ProgressBar" /> is divided into.</summary><value>an object of type <see cref="T:System.UInt32" /></value><remarks>The number of blocks that the <see cref="T:Gtk.ProgressBar" /> is divided into when the style is discrete.</remarks></Docs></Member><Member MemberName="Ellipsize"><MemberSignature Language="C#" Value="public Pango.EllipsizeMode Ellipsize { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance valuetype Pango.EllipsizeMode Ellipsize" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.Property("ellipsize")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>Pango.EllipsizeMode</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added</summary><value>a <see cref="T:Pango.EllipsizeMode" /></value><remarks>To be added</remarks><since version="Gtk# 2.6" /></Docs></Member><Member MemberName="Fraction"><MemberSignature Language="C#" Value="public double Fraction { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance float64 Fraction" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.Property("fraction")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Double</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>The current fraction of the task that has been completed.</summary><value>an object of type <see cref="T:System.Double" /></value><remarks>The current fraction of the task that has been completed.</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><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><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.ProgressBar" />.</remarks></Docs></Member><Member MemberName="Orientation"><MemberSignature Language="C#" Value="public Gtk.ProgressBarOrientation Orientation { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.ProgressBarOrientation Orientation" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.Property("orientation")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>Gtk.ProgressBarOrientation</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>The current <see cref="T:Gtk.ProgressBar" /> orientation.</summary><value>an object of type <see cref="T:Gtk.ProgressBarOrientation" /></value><remarks>The current <see cref="T:Gtk.ProgressBar" /> orientation.</remarks></Docs></Member><Member MemberName="Pulse"><MemberSignature Language="C#" Value="public void Pulse ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Pulse() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><summary>Indicates an unknown amount of progress has been made</summary><remarks>Indicates that some progress has been made, but you don't know how much.
					This causes the <see cref="T:Gtk.ProgressBar" /> to enter "activity mode," where a block bounces back and forth.
					Each call to <see cref="M:Gtk.ProgressBar.Pulse()" /> causes the block to move by a little bit (the amount of movement per pulse is determined by <see cref="P:Gtk.ProgressBar.PulseStep" />).</remarks></Docs></Member><Member MemberName="PulseStep"><MemberSignature Language="C#" Value="public double PulseStep { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance float64 PulseStep" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.Property("pulse-step")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Double</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>The fraction of total <see cref="T:Gtk.ProgressBar" /> length to move the bouncing block for each call to <see cref="M:Gtk.ProgressBar.Pulse()" />.</summary><value>an object of type <see cref="T:System.Double" /></value><remarks>The fraction of total <see cref="T:Gtk.ProgressBar" /> length to move the bouncing block for each call to <see cref="M:Gtk.ProgressBar.Pulse()" />.</remarks></Docs></Member><Member MemberName="Text"><MemberSignature Language="C#" Value="public string Text { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance string Text" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.Property("text")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters></Parameters><Docs><summary>The text displayed superimposed on the <see cref="T:Gtk.ProgressBar" />.</summary><value>an object of type <see cref="T:System.String" /></value><remarks>The text displayed superimposed on the <see cref="T:Gtk.ProgressBar" />, if any, otherwise <see langword="null" />.
					The return value is a reference to the text, not a copy of it, so will become invalid if you change the text in the <see cref="T:Gtk.ProgressBar" />.</remarks></Docs></Member><Member MemberName="Update"><MemberSignature Language="C#" Value="public void Update (double percentage);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Update(float64 percentage) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.12.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Obsolete</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="percentage" Type="System.Double" /></Parameters><Docs><param name="percentage">a <see cref="T:System.Double" />, the percentage completed this bar should display.</param><summary>Update the progress bar with a new percentage-done.
It's marked as obsolete - it's better to use <see cref="M:Gtk.ProgressBar.Fraction" /></summary><remarks></remarks><since version="Gtk# 2.4" /></Docs></Member></Members></Type>