다음을 통해 공유


ProgressBar.PerformStep 메서드

진행률 표시줄의 현재 위치를 Step 속성의 크기만큼 진행합니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Public Sub PerformStep
‘사용 방법
Dim instance As ProgressBar

instance.PerformStep
public void PerformStep ()
public:
void PerformStep ()
public void PerformStep ()
public function PerformStep ()

예외

예외 형식 조건

InvalidOperationException

StyleMarquee로 설정된 경우

설명

PerformStep 메서드는 Step 속성에서 지정한 크기만큼 진행률 표시줄의 값을 증분시킵니다. Step 속성을 사용하여 전체 작업 중 일부가 완료될 때마다 진행률 표시줄의 값이 변경되는 크기를 지정할 수 있습니다. 예를 들어, 여러 파일을 복사하는 경우 Step 속성 값은 1로 설정하고, Maximum 속성 값은 복사할 총 파일 수로 설정할 수 있습니다. 각 파일이 복사될 때마다 PerformStep 메서드를 호출하여 Step 속성 값만큼 진행률을 증분시킬 수 있습니다. 진행률 표시줄의 값을 보다 유연하게 제어하려면 Increment 메서드를 사용하거나 Value 속성 값을 직접 설정합니다.

Value 속성은 ProgressBar의 현재 위치를 지정합니다. PerformStep 메서드를 호출한 후 Value 속성이 Maximum 속성 값보다 크면 Value 속성이 Maximum 속성의 값으로 유지됩니다. PerformStep 메서드를 value 매개 변수에 지정된 음수 값으로 호출한 후 Value 속성이 Minimum 속성 값보다 작으면 Value 속성이 Minimum 속성 값으로 유지됩니다.

예제

다음 코드 예제에서는 ProgressBar 컨트롤을 사용하여 파일 복사 작업의 진행률을 표시합니다. 예제에서는 MinimumMaximum 속성을 사용하여 복사할 파일 수와 일치하도록 ProgressBar의 범위를 지정합니다. 또한 PerformStep 메서드와 함께 Step 속성을 사용하여 파일 복사가 진행되는 동안 ProgressBar의 값을 증분시킵니다. 이 예제를 실행하려면 FormpBar1이라는 ProgressBar 컨트롤이 있고, 파일 복사 작업을 수행하는 CopyFile이라는 메서드(파일 복사 작업이 성공적으로 완료되었음을 나타내는 부울 값 반환)가 있어야 합니다. 또한 복사할 파일이 포함된 문자열 배열을 만들어 예제에 정의된 CopyWithProgress 메서드에 전달하고 이 메서드를 Form에 있는 다른 메서드나 이벤트에서 호출해야 합니다.

Private Sub CopyWithProgress(ByVal ParamArray filenames As String())
    ' Display the ProgressBar control.
    pBar1.Visible = True
    ' Set Minimum to 1 to represent the first file being copied.
    pBar1.Minimum = 1
    ' Set Maximum to the total number of files to copy.
    pBar1.Maximum = filenames.Length
    ' Set the initial value of the ProgressBar.
    pBar1.Value = 1
    ' Set the Step property to a value of 1 to represent each file being copied.
    pBar1.Step = 1

    ' Loop through all files to copy.
    Dim x As Integer
    for x = 1 To filenames.Length - 1
        ' Copy the file and increment the ProgressBar if successful.
        If CopyFile(filenames(x - 1)) = True Then
            ' Perform the increment on the ProgressBar.
            pBar1.PerformStep()
        End If
    Next x
End Sub
private void CopyWithProgress(string[] filenames)
{
    // Display the ProgressBar control.
    pBar1.Visible = true;
    // Set Minimum to 1 to represent the first file being copied.
    pBar1.Minimum = 1;
    // Set Maximum to the total number of files to copy.
    pBar1.Maximum = filenames.Length;
    // Set the initial value of the ProgressBar.
    pBar1.Value = 1;
    // Set the Step property to a value of 1 to represent each file being copied.
    pBar1.Step = 1;
    
    // Loop through all files to copy.
    for (int x = 1; x <= filenames.Length; x++)
    {
        // Copy the file and increment the ProgressBar if successful.
        if(CopyFile(filenames[x-1]) == true)
        {
            // Perform the increment on the ProgressBar.
            pBar1.PerformStep();
        }
    }
}
private:
   void CopyWithProgress( array<String^>^filenames )
   {
      // Display the ProgressBar control.
      pBar1->Visible = true;

      // Set Minimum to 1 to represent the first file being copied.
      pBar1->Minimum = 1;

      // Set Maximum to the total number of files to copy.
      pBar1->Maximum = filenames->Length;

      // Set the initial value of the ProgressBar.
      pBar1->Value = 1;

      // Set the Step property to a value of 1 to represent each file being copied.
      pBar1->Step = 1;

      // Loop through all files to copy.
      for ( int x = 1; x <= filenames->Length; x++ )
      {
         // Copy the file and increment the ProgressBar if successful.
         if ( CopyFile( filenames[ x - 1 ] ) == true )
         {
            // Perform the increment on the ProgressBar.
            pBar1->PerformStep();
         }
      }
   }
private void CopyWithProgress(String fileNames[])
{
    // Display the ProgressBar control.
    pBar1.set_Visible(true);
    // Set Minimum to 1 to represent the first file being copied.
    pBar1.set_Minimum(1);
    // Set Maximum to the total number of files to copy.
    pBar1.set_Maximum(fileNames.get_Length());
    // Set the initial value of the ProgressBar.
    pBar1.set_Value(1);
    // Set the Step property to a value of 1 to represent each file
    // being copied.
    pBar1.set_Step(1);
    // Loop through all files to copy.
    for (int x = 1; x <= fileNames.get_Length(); x++) {
        // Copy the file and increment the ProgressBar if successful.
        if (CopyFile(fileNames[(x - 1)]) == true) {
            // Perform the increment on the ProgressBar.
            pBar1.PerformStep();
        }
    }
} //CopyWithProgress

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

ProgressBar 클래스
ProgressBar 멤버
System.Windows.Forms 네임스페이스
Maximum
Minimum
Step
PerformStep
Value