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 の場合、イベントは事実上キャンセル |
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 イベントデータを出力します。