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


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значение .

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