PowerTools PlusPak for Windows Forms 8.0J
GcTrackBar クラス
メンバ  使用例 

複数のスライダーがある拡張トラックバーを表します。
構文
解説

GcTrackBar コントロールはデフォルトで水平方向に 0 〜 10 の範囲で作成され、すべての値に対して目盛りと目盛りテキストが表示されます。

このコントロールを使用して、複数の値または値の範囲を選択して指定できます。このコントロールは、Windows 標準の System.Windows.Forms.TrackBar が備える TickStyleTickFrequencyMinimumMaximumSmallChangeLargeChange などの一般的な機能のほとんどをサポートします。それに加えて、TickTextStyleTickTextAngleTickTextFormatDragFrequencyAllowMoveToPoint などの拡張スタイルや拡張機能を提供します。これにより、Minimum プロパティ(範囲の下限)と Maximum プロパティ(範囲の上限)を設定することで、Thumb.Value の値範囲を限定できます。また、Orientation プロパティを設定することで、トラックバーコントロールを水平または垂直に表示できます。

SmallChange プロパティは、方向キーを押してスライダーを移動するときの変化量を定義します。LargeChange プロパティは、トラックバーをマウスでクリックするか[PageUp]キーまたは[PageDown]キーを押してスライダーを移動するときの変化量を定義します。また、拡張機能の DragFrequency を使用して、マウスをドラッグしてスライダーを移動するときのデルタを定義できます。

GcTrackBar コントロールには目盛りテキストを表示できます。このテキストをカスタマイズするには、TickTextStyleTickTextAngleTickTextFormat の各プロパティを設定します。

マウスのクリックによって指定された位置にスライダーをただちに移動したい場合は、AllowMoveToPoint プロパティを true に設定するだけで済みます。

トラックバーには複数のスライダーを配置できます。同時に選択できるスライダーは 1 つだけです。SelectedThumbIndex プロパティは、現在選択されているスライダーのインデックスを示します。UI 操作(マウスのクリックまたはショートカットキー)またはコードの実行によって SelectedThumbIndex プロパティの値が変更されると、SelectedThumbIndexChanged イベントが発生します。

ShowToolTip プロパティを true に設定することで、Thumb.ToolTip を表示できます。

ThumbsThumb 型のオブジェクトを含む読み取り専用の ThumbCollection であり、デフォルトのコレクションには 1 つの Thumb オブジェクトが含まれます。必要に応じて、別の Thumb オブジェクトを Thumbs に追加できます。

DragMode プロパティは、スライダー移動動作の制御に使用します。DragMode プロパティの設定によって制御されるのは UI 操作(マウスのクリック、マウスのドラッグ、方向キー、[PageUp]/[PageDown]キー)だけですが、それでもコードによって Thumb.Value を自由に変更できます。

Value プロパティは、インデックスが 0 のスライダーの値を示します。いずれかのスライダーの値が変更されると、ThumbValueChanged イベントが発生します。

使用例

次のサンプルコードは、GcTrackBar の作成方法と関連プロパティの設定例を示します。フォームには 1 つの System.Windows.Forms.TextBox コントロールがあり、Scroll イベントが発生すると、そのテキストボックスの内容が Value プロパティの値で更新されます。

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new GcTrackBarSample());
    }
}

public class GcTrackBarForm : Form
{
    private System.Windows.Forms.TextBox textBox1;
    private GrapeCity.Win.Bars.GcTrackBar gcTrackBar1;

    public GcTrackBarForm()
    {
        InitializeComponent();
    }

    private void InitializeComponent()
    {
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.gcTrackBar1 = new GrapeCity.Win.Bars.GcTrackBar();
        ((System.ComponentModel.ISupportInitialize)(this.gcTrackBar1)).BeginInit();
        this.SuspendLayout();
        //
        // textBox1
        // 
        this.textBox1.Location = new System.Drawing.Point(240, 16);
        this.textBox1.Size = new System.Drawing.Size(48, 20);
        //
        //  gcTrackBar1
        //
        GrapeCity.Win.Bars.Thumb thumb1 = new GrapeCity.Win.Bars.Thumb();
        GrapeCity.Win.Bars.Thumb thumb2 = new GrapeCity.Win.Bars.Thumb();
        this.gcTrackBar1.Thumbs.AddRange(new GrapeCity.Win.Bars.Thumb[] { thumb1, thumb2 });
        this.gcTrackBar1.Name = "gcTrackBar1";
        this.gcTrackBar1.Location = new System.Drawing.Point(8, 8);
        this.gcTrackBar1.Size = new System.Drawing.Size(224, 45);
        this.gcTrackBar1.Scroll += new EventHandler(gcTrackBar1_Scroll);

        // The Maximum property sets the thumb value of the track bar when
        // the Thumb is all the way to the right.
        this.gcTrackBar1.Maximum = 30;

        // The TickFrequency property establishes how many positions
        // are between each tick-mark.
        this.gcTrackBar1.TickFrequency = 5;

        // The LargeChange property sets how many positions to move
        // if the bar is clicked on either side of the thumbs.
        this.gcTrackBar1.LargeChange = 3;

        // The SmallChange property sets how many positions to move
        // if the keyboard arrows are used to move the thumbs.
        this.gcTrackBar1.SmallChange = 2;

        // The DragMode property sets how to control moving the thumbs
        // by UI actions (mouse click, mouse drag and shortcut keys).
        this.gcTrackBar1.DragMode = DragMode.Neighbor;

        // The DragFrequency property sets delta value of thumbs moving by mouse dragging.
        this.gcTrackBar1.DragFrequency = 10;

        // The AllowMoveToPoint property sets to move the thumb to a pointed location immediately by mouse clicking.
        this.gcTrackBar1.AllowMoveToPoint = true;
        // 
        // GcTrackBarForm
        // 
        this.ClientSize = new System.Drawing.Size(290, 64);
        this.Controls.Add(this.textBox1);
        this.Controls.Add(this.gcTrackBar1);
        this.Text = "GcTrackBar Sample";
        ((System.ComponentModel.ISupportInitialize)(this.gcTrackBar1)).EndInit();
        this.ResumeLayout(false);
        this.PerformLayout();
    }

    void gcTrackBar1_Scroll(object sender, EventArgs e)
    {
        // Display the vlaue of current selected Thumb in the text box.
        GrapeCity.Win.Bars.Thumb selectedThumb = this.gcTrackBar1.Thumbs[this.gcTrackBar1.SelectedThumbIndex];
        this.textBox1.Text = "" + selectedThumb.Value;
    }
}
NotInheritable Class Program
    Private Sub New()
    End Sub
    ''' <summary>
    ''' The main entry point for the application.
    ''' </summary>
    <STAThread()> _
    Private Shared Sub Main()
        Application.EnableVisualStyles()
        Application.SetCompatibleTextRenderingDefault(False)
        Application.Run(New GcTrackBarForm())
    End Sub
End Class

Public Class GcTrackBarForm
    Inherits Form
    Private textBox1 As System.Windows.Forms.TextBox
    Private gcTrackBar1 As GcTrackBar

    Public Sub New()
        InitializeComponent()
    End Sub

    Private Sub InitializeComponent()
        Me.textBox1 = New System.Windows.Forms.TextBox()
        Me.gcTrackBar1 = New GcTrackBar()
        DirectCast((Me.gcTrackBar1), System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        ' textBox1
        ' 
        Me.textBox1.Location = New System.Drawing.Point(240, 16)
        Me.textBox1.Size = New System.Drawing.Size(48, 20)
        '
        '  gcTrackBar1
        '
        Dim thumb1 As New Thumb()
        Dim thumb2 As New Thumb()
        Me.gcTrackBar1.Thumbs.AddRange(New Thumb() {thumb1, thumb2})
        Me.gcTrackBar1.Name = "gcTrackBar1"
        Me.gcTrackBar1.Location = New System.Drawing.Point(8, 8)
        Me.gcTrackBar1.Size = New System.Drawing.Size(224, 45)
        AddHandler Me.gcTrackBar1.Scroll, AddressOf gcTrackBar1_Scroll

        ' The Maximum property sets the thumb value of the track bar when
        ' the Thumb is all the way to the right.
        Me.gcTrackBar1.Maximum = 30

        ' The TickFrequency property establishes how many positions
        ' are between each tick-mark.
        Me.gcTrackBar1.TickFrequency = 5

        ' The LargeChange property sets how many positions to move
        ' if the bar is clicked on either side of the thumbs.
        Me.gcTrackBar1.LargeChange = 3

        ' The SmallChange property sets how many positions to move
        ' if the keyboard arrows are used to move the thumbs.
        Me.gcTrackBar1.SmallChange = 2

        ' The DragMode property sets how to control moving the thumbs
        ' by UI actions (mouse click, mouse drag and shortcut keys).
        Me.gcTrackBar1.DragMode = DragMode.Neighbor

        ' The DragFrequency property sets delta value of thumbs moving by mouse dragging.
        Me.gcTrackBar1.DragFrequency = 10

        ' The AllowMoveToPoint property sets to move the thumb to a pointed location immediately by mouse clicking.
        Me.gcTrackBar1.AllowMoveToPoint = True
        ' 
        ' GcTrackBarForm
        ' 
        Me.ClientSize = New System.Drawing.Size(290, 64)
        Me.Controls.Add(Me.textBox1)
        Me.Controls.Add(Me.gcTrackBar1)
        Me.Text = "GcTrackBar Sample"
        DirectCast((Me.gcTrackBar1), System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)
        Me.PerformLayout()
    End Sub

    Private Sub gcTrackBar1_Scroll(ByVal sender As Object, ByVal e As EventArgs)
        ' Display the vlaue of current selected Thumb in the text box.
        Dim selectedThumb As Thumb = Me.gcTrackBar1.Thumbs(Me.gcTrackBar1.SelectedThumbIndex)
        Me.textBox1.Text = "" + selectedThumb.Value.ToString()
    End Sub
End Class
継承階層

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Windows.Forms.Control
            GrapeCity.Framework.Forms.FrameworkControl
               GrapeCity.Framework.Views.Windows.ElementContainerControl
                  GrapeCity.Framework.Forms.ControlBase
                     GrapeCity.Win.Common.PlusPakControlBase
                        GrapeCity.Win.Bars.GcTrackBar

プラットフォーム

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

参照

GcTrackBar メンバ
GrapeCity.Win.Bars 名前空間
Thumb クラス
ThumbCollection クラス

Send Feedback