英語で読む

次の方法で共有


StatusBarPanelAutoSize 列挙型

定義

StatusBarPanel コントロールのサイズが変更されると、コントロール上の StatusBar がどのように動作するかを指定します。

C#
public enum StatusBarPanelAutoSize
継承
StatusBarPanelAutoSize

フィールド

名前 説明
Contents 3

StatusBarPanel の幅は、その内容によって決定されます。

None 1

StatusBarPanel コントロールのサイズが変更されても、StatusBar のサイズは変更されません。

Spring 2

StatusBarPanel は、StatusBar 上の使用できる領域 (AutoSize プロパティが None または Contents に設定されているその他のパネルによって占有されていない領域) を、AutoSize プロパティが Spring に設定されているほかのパネルと共有します。

次のコード例では、 列挙体を使用 StatusBarPanelAutoSize する方法と、 イベントを処理する方法を PanelClick 示します。

この例を実行するには、次のコードをフォームに貼り付けます。 フォームの InitializeStatusBarPanels コンストラクターまたは Load イベント処理メソッドで メソッドを呼び出します。

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();
    }
}

注釈

この列挙は、StatusBarPanel.AutoSize プロパティで使用されます。 プロパティは AutoSize 、 がコントロールで自動化される方法 StatusBarPanelStatusBar 指定します。

適用対象

製品 バージョン
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1