Compartir a través de


ProgressBarRenderer.DrawVerticalChunks(Graphics, Rectangle) Método

Definición

Dibuja un conjunto de piezas de barra de progreso que rellenan una barra de progreso vertical.

public:
 static void DrawVerticalChunks(System::Drawing::Graphics ^ g, System::Drawing::Rectangle bounds);
public static void DrawVerticalChunks (System.Drawing.Graphics g, System.Drawing.Rectangle bounds);
static member DrawVerticalChunks : System.Drawing.Graphics * System.Drawing.Rectangle -> unit
Public Shared Sub DrawVerticalChunks (g As Graphics, bounds As Rectangle)

Parámetros

g
Graphics

Graphics utilizado para dibujar la barra de progreso.

bounds
Rectangle

Rectangle que especifica los límites que se van a rellenar con las piezas de la barra de progreso.

Excepciones

El sistema operativo no admite estilos visuales.

o bien

El usuario ha deshabilitado los estilos visuales en el sistema operativo.

o bien

Los estilos visuales no se aplican al área de cliente de las ventanas de aplicación.

Ejemplos

En el ejemplo de código siguiente se usa el DrawVerticalChunks método en un Timer.Tick controlador de eventos para dibujar cada incremento de una barra de progreso. Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase ProgressBarRenderer.

    // Handle the timer tick; draw each progressively larger rectangle.
private:
    void progressTimer_Tick(Object^ myObject, EventArgs^ e)
    {
        if (ticks < NumberChunks)
        {
            Graphics^ g = this->CreateGraphics();
            ProgressBarRenderer::DrawVerticalChunks(g,
                progressBarRectangles[ticks]);
            ticks++;
        }
        else
        {
            progressTimer->Enabled = false;
        }
    }
// Handle the timer tick; draw each progressively larger rectangle.
private void progressTimer_Tick(Object myObject, EventArgs e)
{
    if (ticks < NumberChunks)
    {
        using (Graphics g = this.CreateGraphics())
        {
            ProgressBarRenderer.DrawVerticalChunks(g,
                progressBarRectangles[ticks]);
            ticks++;
        }
    }
    else
    {
        progressTimer.Enabled = false;
    }
}
' Handle the timer tick; draw each progressively larger rectangle.
Private Sub progressTimer_Tick(ByVal myObject As [Object], ByVal e As EventArgs) 
    If ticks < NumberChunks Then
        Dim g As Graphics = Me.CreateGraphics()
        Try
            ProgressBarRenderer.DrawVerticalChunks(g, progressBarRectangles(ticks))
            ticks += 1
        Finally
            g.Dispose()
        End Try
    Else
        progressTimer.Enabled = False
    End If

End Sub

Comentarios

Cada fragmento de barra de progreso dibujado por este método abarca el ancho del bounds parámetro. El número de fragmentos de barra de progreso dibujados viene determinado por el alto de bounds y los valores devueltos por ChunkSpaceThickness y ChunkThickness.

Antes de usar este método, debe comprobar que la IsSupported propiedad devuelve true.

Se aplica a