다음을 통해 공유


방법: Windows Forms StatusBar 컨트롤에서 클릭한 패널 확인

업데이트: 2007년 11월

중요:

StatusStripToolStripStatusLabel 컨트롤은 StatusBarStatusBarPanel 컨트롤에 새로운 기능이 추가된 것으로, 이전 컨트롤을 대체합니다. 그러나 이전 버전과의 호환성 및 앞으로의 사용 가능성을 고려하여 StatusBarStatusBarPanel 컨트롤을 유지하도록 선택할 수 있습니다.

사용자 클릭에 응답하도록 StatusBar 컨트롤(Windows Forms) 컨트롤을 프로그래밍하려면 PanelClick 이벤트 내에서 case 문을 사용합니다. 이벤트에는 클릭된 StatusBarPanel 개체에 대한 참조를 포함하는 인수인 panel 인수가 있습니다. 클릭한 패널의 인덱스를 이 참조를 통해 확인하고 그에 따라 프로그래밍할 수 있습니다.

참고:

StatusBar 컨트롤의 ShowPanels 속성이 true로 설정되어 있어야 합니다.

클릭한 패널을 확인하려면

  • PanelClick 이벤트 처리기에서 Select Case(Visual Basic) 문 또는 switch case(Visual C# 또는 Visual C++) 문을 사용하여, 클릭한 패널의 인덱스를 이벤트 인수에서 검사하면 어떤 패널을 클릭했는지 확인할 수 있습니다.

    다음 코드 예제에서는 폼에 StatusBar 컨트롤인 StatusBar1과 두 개의StatusBarPanel 개체, StatusBarPanel1 및 StatusBarPanel2가 있어야 합니다.

    Private Sub StatusBar1_PanelClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.StatusBarPanelClickEventArgs) Handles StatusBar1.PanelClick
       Select Case StatusBar1.Panels.IndexOf(e.StatusBarPanel)
         Case 0
           MessageBox.Show("You have clicked Panel One.")
         Case 1
           MessageBox.Show("You have clicked Panel Two.")
       End Select
    End Sub
    
    private void statusBar1_PanelClick(object sender, 
    System.Windows.Forms.StatusBarPanelClickEventArgs e)
    {
       switch (statusBar1.Panels.IndexOf(e.StatusBarPanel))
       {
          case 0 :
             MessageBox.Show("You have clicked Panel One.");
             break;
          case 1 :
             MessageBox.Show("You have clicked Panel Two.");
             break;
       }
    }
    
    private:
       void statusBar1_PanelClick(System::Object ^  sender,
          System::Windows::Forms::StatusBarPanelClickEventArgs ^  e)
       {
          switch (statusBar1->Panels->IndexOf(e->StatusBarPanel))
          {
             case 0 :
                MessageBox::Show("You have clicked Panel One.");
                break;
             case 1 :
                MessageBox::Show("You have clicked Panel Two.");
                break;
          }
       }
    

    (Visual C#, Visual C++) 폼의 생성자에 다음 코드를 배치하여 이벤트 처리기를 등록합니다.

    this.statusBar1.PanelClick += new 
       System.Windows.Forms.StatusBarPanelClickEventHandler 
       (this.statusBar1_PanelClick);
    
    this->statusBar1->PanelClick += gcnew
       System::Windows::Forms::StatusBarPanelClickEventHandler
       (this, &Form1::statusBar1_PanelClick);
    

참고 항목

작업

방법: 상태 표시줄 패널의 크기 설정

연습: 런타임에 상태 표시줄 정보 업데이트

참조

StatusBar 컨트롤 개요(Windows Forms)

StatusBar

ToolStripStatusLabel