ComponentOne Studio TrueChart for ASP.NET (C1WebChart2D) ヘルプ
軸スクロールのイベント
C1Chart の使い方 > ChartArea および PlotArea オブジェクトの概要 > > 軸のスクロールとスケール調整 > 軸スクロールのイベント

AxisScroll イベントは、C1Chart オブジェクトと AxisScrollBar オブジェクトで、軸スクロールに関して追加的な情報を特定する必要があるときに使用します。たとえば、AxisScroll イベントを使用すれば、スクロールされる軸、スクロールするデータの最小値と最大値、実行されるスクロールの種別、およびスクロールバーの向きに関する詳細情報を提供できます。

AxisScroll イベントの発生元は、AxisScrollBar オブジェクトまたは c1Chart1 オブジェクトのいずれかです。Chart と AxisScrollBar の両方のイベントが設定された場合は、AxisScrollBar のイベントが先に発生します。一方、AxisScroll イベントはすべての軸で発生し、AxisScrollEventArgs オブジェクトの AxisId プロパティを設定して変化した軸を示します。

AxisScrollEventArgs クラスは、組み込みの軸スクロールバーで値が変更されるたびに発生する AxisScrollEvent のデータを提供します。

次の表に、AxisScrollEventArgs プロパティに関する情報を示します。

プロパティ 説明
AxisID スクロールされる軸を識別する列挙値。
NewValue イベント完了後の軸スクロールバーの値を取得または設定します。軸スクロールバーの値は、最小値と最大値の間の小数を示します。
OldValue イベント前の軸スクロールバーの値を取得します。軸スクロールバーの値は、最小値と最大値の間の小数を示します。
ScrollEventType スクロールイベントの種別(ThumbPosition、ThumbTrack、EndScroll、LargeIncrement、SmallIncrement など)を示す値を取得します。
ScrollOrientation 軸スクロールバーの向きを示す値を取得します。

次の例は、AxisScroll イベントを使用して、AxisScrollEventArgs クラスのすべてのプロパティを参照する方法を示しています。

Visual Basic コードの書き方

Visual Basic
コードのコピー
'名前空間の Imports 指示文を記述
Imports C1.Win.C1Chart
Public Sub New()
        InitializeComponent()
    
        ' グラフの Dock を Fill に設定
        
        c1Chart1.Dock = DockStyle.Fill
 
        ' スクロールバーオブジェクトへの簡易アクセスを設定

        Dim scrollbar As C1.Win.C1Chart.AxisScrollBar = c1Chart1.ChartArea.AxisX.ScrollBar
        scrollbar.Scale = 0.1

        ' スケールを軸の全幅の 10 分の1に設定

        scrollbar.Visible = True

        ' スクロールバーを表示
        ' 新しい AxisScroll イベントを AxisScrollBar オブジェクトに追加

        AddHandler scrollbar.AxisScroll, AddressOf XAxis_ScrollEvent
    
        ' 新しい AxisScroll イベントを Chart オブジェクトに追加

        AddHandler c1Chart1.AxisScroll, AddressOf XAxis_ScrollEvent
End Sub

Public Sub XAxis_ScrollEvent(ByVal sender As Object, ByVal e As C1.Win.C1Chart.AxisScrollEventArgs) Handles C1Chart1.AxisScroll

        ' AxisScrollEventArgs は、通常のスクロールバーのそれに類似
        ' ただし、軸の ID も含む

        Dim sb As New StringBuilder()
        sb.AppendLine("" & Chr(10) & "AxisScroll Event Data")
  
        ' 発生元は、AxisScrollBar オブジェクトまたは c1Chart1 オブジェクトのいずれか。
        ' Chart と AxisScrollBar の両方のイベントが設定された場合は、
        ' AxisScrollBar のイベントが先に発生。一方、Chart のイベントはすべての軸で発生し、
        ' AxisScrollEventArgs オブジェクトの AxisId プロパティを設定して変化した軸を示す

        sb.AppendLine(" Sender is: " + sender.ToString())
   
        ' AxisId は、関係する軸を指定する enum 値
        ' C1.Win.C1Chart.AxisIdEnum

        sb.AppendLine(" ID: " + e.AxisId.ToString())

        ' OldValue と NewValue は、Axis.Min から
        ' Axis.Max までの値変化の小数を表す。OldValue はイベント前、
        ' NewValue はイベント後の小数
        ' NewValue は、設定可能な値のみであることに注意。
        ' NewValue = OldValue の場合、イベントは事実上キャンセル
sb.AppendLine(" OldVal: " + e.OldValue.ToString()) sb.AppendLine(" NewVal: " + e.NewValue.ToString()) ' EventType は、スクロールバーが変更された方法を示す ' SmallIncrement/SmallDecrement は、ボタンが押されたことを示す ' SmallIncrement/SmallDecrement は、ボタンが押されたことを示す ' つまみボタンを移動します。 ' TrackBar は、スクロールバーがドラッグされた方法を示す sb.AppendLine(" EventType: " + e.ScrollEventType.ToString()) sb.AppendLine(" Orientation: " + e.ScrollOrientation.ToString()) System.Diagnostics.Debug.WriteLine(sb.ToString()) End Sub

C# コードの書き方

C#
コードのコピー
//名前空間の Imports 指示文を記述

using C1.Win.C1Chart;
public Form1()
{
    InitializeComponent();

    // グラフの Dock を Fill に設定
    c1Chart1.Dock = DockStyle.Fill;

    // スクロールバーオブジェクトへの簡易アクセスを設定
    C1.Win.C1Chart.AxisScrollBar scrollbar = c1Chart1.ChartArea.AxisX.ScrollBar;
    scrollbar.Scale = 0.1; // スケールを軸の全幅の 10 分の1に設定
    scrollbar.Visible = true; // スクロールバーを表示

    // 新しい AxisScroll イベントを AxisScrollBar オブジェクトに追加
    scrollbar.AxisScroll += new C1.Win.C1Chart.AxisScrollEventHandler(XAxis_ScrollEvent);

    // 新しい AxisScroll イベントを Chart オブジェクトに追加
    c1Chart1.AxisScroll += new C1.Win.C1Chart.AxisScrollEventHandler(XAxis_ScrollEvent);
}

public void XAxis_ScrollEvent(object sender, C1.Win.C1Chart.AxisScrollEventArgs e)
{

    // AxisScrollEventArgs は、通常のスクロールバーのそれに類似
    // ただし、軸の ID も含む

    StringBuilder sb = new StringBuilder();
    sb.AppendLine("\nAxisScroll Event Data");

    // 発生元は、AxisScrollBar オブジェクトまたは c1Chart1 オブジェクトのいずれか。
    // Chart と AxisScrollBar の両方のイベントが設定された場合は、
    // AxisScrollBar のイベントが先に発生。一方、Chart のイベントはすべての軸で発生し、
    // AxisScrollEventArgs オブジェクトの AxisId プロパティを設定して変化した軸を示す

    sb.AppendLine(" Sender is: " + sender.ToString());

    // AxisId は、関係する軸を指定する enum 値
    // C1.Win.C1Chart.AxisIdEnum

    sb.AppendLine(" ID: " + e.AxisId.ToString());

    // OldValue と NewValue は、Axis.Min からAxis.Max までの値変化の小数を表す。OldValue はイベント前、
    // NewValue はイベント後の小数。

    sb.AppendLine(" OldVal: " + e.OldValue.ToString());
    sb.AppendLine(" NewVal: " + e.NewValue.ToString());

    // EventType は、スクロールバーが変更された方法を示す
    // SmallIncrement/SmallDecrement は、ボタンが押されたことを示す
    // SmallIncrement/SmallDecrement は、ボタンが押されたことを示す
    // つまみボタンを移動します。
    // TrackBar は、スクロールバーがドラッグされた方法を示す

    sb.AppendLine(" EventType: " + e.ScrollEventType.ToString());
    sb.AppendLine(" Orientation: " + e.ScrollOrientation.ToString());
    System.Diagnostics.Debug.WriteLine(sb.ToString());
}

このコードは、次のような AxisScroll イベントデータを出力します。