次の方法で共有


StatusBar.PanelClick イベント

StatusBar コントロールの StatusBarPanel オブジェクトがクリックされると発生します。

Public Event PanelClick As StatusBarPanelClickEventHandler
[C#]
public event StatusBarPanelClickEventHandler PanelClick;
[C++]
public: __event StatusBarPanelClickEventHandler* PanelClick;

[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。

イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、StatusBarPanelClickEventArgs 型の引数を受け取りました。次の StatusBarPanelClickEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ 説明
Button (MouseEventArgs から継承されます) マウスのどのボタンが押されたかを示す値を取得します。
Clicks (MouseEventArgs から継承されます) マウス ボタンが押されて離された回数を取得します。
Delta (MouseEventArgs から継承されます) マウス ホイールの回転回数を表す符合付きの数値を取得します。マウス ホイールのノッチ 1 つ分が 1 移動量に相当します。
StatusBarPanel 描画する StatusBarPanel を取得します。
X (MouseEventArgs から継承されます) マウスの x 座標を取得します。
Y (MouseEventArgs から継承されます) マウスの y 座標を取得します。

解説

このイベントを使用して、 StatusBar コントロール内のパネルがクリックされたときにタスクを実行できます。パラメータとしてイベント ハンドラに渡された StatusBarPanelClickEventArgs オブジェクトを通じてイベントに提供されたデータを使用すると、選択したパネル上でタスクを実行するためにユーザーによってクリックされた StatusBarPanel オブジェクトを確認できます。

イベント処理の詳細については、「 イベントの利用 」を参照してください。

使用例

[Visual Basic, C#] SizingGripDockAlignmentWidthAutoSize 、および BorderStyle の各メンバの使用方法、および PanelClick イベントの処理方法を示すコード例を次に示します。

[Visual Basic, C#] この例を実行するには、次のコードをフォームに貼り付けます。そして、フォームのコンストラクタまたは Load メソッドで InitializeStatusBarPanels メソッドを呼び出します。

 

    Friend WithEvents statusBar1 As System.Windows.Forms.StatusBar

    Private Sub InitializeStatusBarPanels()

        ' Create a StatusBar control.
        statusBar1 = New StatusBar

        ' Dock the status bar at the top of the form. 
        statusBar1.Dock = DockStyle.Top

        ' Set the SizingGrip property to false so the user cannot 
        ' resize the status bar.
        statusBar1.SizingGrip = False

        ' Create two StatusBarPanel objects to display in statusBar1.
        Dim panel1 As New StatusBarPanel
        Dim panel2 As New StatusBarPanel

        ' Set the width of panel2 explicitly and set
        ' panel1 to fill in the remaining space.
        panel2.Width = 80
        panel1.AutoSize = StatusBarPanelAutoSize.Spring

        ' Set the text alignment within each panel.
        panel1.Alignment = HorizontalAlignment.Left
        panel2.Alignment = HorizontalAlignment.Right

        ' Display the first panel without a border and the second
        ' with a raised border.
        panel1.BorderStyle = StatusBarPanelBorderStyle.None
        panel2.BorderStyle = StatusBarPanelBorderStyle.Raised

        ' Set the text of the panels. The panel1 object is reserved
        ' for line numbers, while panel2 is set to the current time.
        panel1.Text = "Reserved for important information."
        panel2.Text = System.DateTime.Now.ToShortTimeString

        ' Set a tooltip for panel2
        panel2.ToolTipText = "Click time to display seconds"

        ' Display panels in statusBar1 and add them to the
        ' status bar's StatusBarPanelCollection.
        statusBar1.ShowPanels = True
        statusBar1.Panels.Add(panel1)
        statusBar1.Panels.Add(panel2)

        ' Add the StatusBar to the form.
        Me.Controls.Add(statusBar1)
    End Sub


    ' If the user clicks the status bar, check the text of the 
    ' StatusBarPanel.  If the text equals a short time string,
    ' change it to long time display.
    Private Sub statusBar1_PanelClick(ByVal sender As Object, _
        ByVal e As StatusBarPanelClickEventArgs) _
            Handles statusBar1.PanelClick
        If (e.StatusBarPanel.Text = _
            System.DateTime.Now.ToShortTimeString) Then
            e.StatusBarPanel.Text = System.DateTime.Now.ToLongTimeString
        End If
    End Sub

[C#] 

internal System.Windows.Forms.StatusBar statusBar1;

private void InitializeStatusBarPanels()
{

    // Create a StatusBar control.
    statusBar1 = new StatusBar();

    // Dock the status bar at the top of the form. 
    statusBar1.Dock = DockStyle.Top;

    // Set the SizingGrip property to false so the user cannot 
    // resize the status bar.
    statusBar1.SizingGrip = false;

    // Associate the event-handling method with the 
    // PanelClick event.
    statusBar1.PanelClick += 
        new StatusBarPanelClickEventHandler(statusBar1_PanelClick);

    // Create two StatusBarPanel objects to display in statusBar1.
    StatusBarPanel panel1 = new StatusBarPanel();
    StatusBarPanel panel2 = new StatusBarPanel();

    // Set the width of panel2 explicitly and set
    // panel1 to fill in the remaining space.
    panel2.Width = 80;
    panel1.AutoSize = StatusBarPanelAutoSize.Spring;

    // Set the text alignment within each panel.
    panel1.Alignment = HorizontalAlignment.Left;
    panel2.Alignment = HorizontalAlignment.Right;

    // Display the first panel without a border and the second
    // with a raised border.
    panel1.BorderStyle = StatusBarPanelBorderStyle.None;
    panel2.BorderStyle = StatusBarPanelBorderStyle.Raised;

    // Set the text of the panels. The panel1 object is reserved
    // for line numbers, while panel2 is set to the current time.
    panel1.Text = "Reserved for important information.";
    panel2.Text = System.DateTime.Now.ToShortTimeString();

    // Set a tooltip for panel2
    panel2.ToolTipText = "Click time to display seconds";

    // Display panels in statusBar1 and add them to the
    // status bar's StatusBarPanelCollection.
    statusBar1.ShowPanels = true;
    statusBar1.Panels.Add(panel1);
    statusBar1.Panels.Add(panel2);

    // Add the StatusBar to the form.
    this.Controls.Add(statusBar1);
}


// If the user clicks the status bar, check the text of the 
// StatusBarPanel.  If the text equals a short time string,
// change it to long time display.
private void statusBar1_PanelClick(object sender, 
    StatusBarPanelClickEventArgs e)
{
    if (e.StatusBarPanel.Text == 
        System.DateTime.Now.ToShortTimeString())
    {
        e.StatusBarPanel.Text = 
            System.DateTime.Now.ToLongTimeString();
    }
}

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

StatusBar クラス | StatusBar メンバ | System.Windows.Forms 名前空間 | OnPanelClick | StatusBarPanelClickEventArgs | StatusBarPanelClickEventHandler