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)
Параметры
- 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.