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 イベントデータを出力します。