Поделиться через


ProgressBarRenderer.DrawVerticalChunks(Graphics, Rectangle) Метод

Определение

Рисует набор элементов индикатора выполнения, заполняющих вертикальную полосу выполнения.

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)

Параметры

g
Graphics

Используется Graphics для рисования индикатора выполнения.

bounds
Rectangle

Значение Rectangle , указывающее границы, которые должны быть заполнены фрагментами индикаторов выполнения.

Исключения

Операционная система не поддерживает визуальные стили.

–или–

Визуальные стили отключены пользователем в операционной системе.

–или–

Визуальные стили не применяются к клиентской области окон приложений.

Примеры

В следующем примере кода метод в обработчике Timer.Tick событий используется DrawVerticalChunks для рисования каждого шага индикатора выполнения. Этот пример кода является частью более крупного примера, предоставленного для 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

Комментарии

Каждая часть индикатора bounds выполнения, рисуемая этим методом, охватывает ширину параметра. Число нарисованных фрагментов индикатора хода выполнения определяется высотой bounds и значениями, возвращаемыми ChunkSpaceThickness и ChunkThickness.

Перед использованием этого метода необходимо убедиться, что IsSupported свойство возвращается true.

Применяется к