Partilhar via


ProgressBarRenderer.DrawVerticalChunks(Graphics, Rectangle) Método

Definição

Desenha um conjunto de peças de barra de progresso que preenche uma barra de progresso 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

O Graphics usado para desenhar a barra de progresso.

bounds
Rectangle

O Rectangle que especifica os limites a serem preenchidos por partes da barra de progresso.

Exceções

O sistema operacional não dá suporte a estilos visuais.

- ou -

Os estilos visuais estão desabilitados pelo usuário no sistema operacional.

- ou -

Os estilos visuais não são aplicados à área de cliente das janelas de aplicativos.

Exemplos

O exemplo de código a seguir usa o DrawVerticalChunks método em um Timer.Tick manipulador de eventos para desenhar cada incremento de uma barra de progresso. Este exemplo de código faz parte de um exemplo maior fornecido para a ProgressBarRenderer classe .

    // 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

Comentários

Cada peça de barra de progresso desenhada por esse método abrange a largura do bounds parâmetro . O número de partes da barra de progresso desenhadas é determinado pela altura de bounds e pelos valores retornados por ChunkSpaceThickness e ChunkThickness.

Antes de usar esse método, você deve verificar se a IsSupported propriedade retorna true.

Aplica-se a