fenri's diary

基本的には勉強し始めたC#のメモ。後は140字で収まらない駄文。

ChartのX軸を日時として設定した場合の軸設定、position設定

X軸を日時として設定した場合は
X軸のMinimum、Maximum、カーソルのPositionなどは全てDouble型の日付で指定しなければならない。

x1.Maximum = 0
CursorX.SetCursorPosition(10)とかはダメ。



日時をDouble型に変換する
// DateTime型で値を取得
DateTime Minimum = DateTime.Parse(this.dataGridView1.Rows[0].Cells[DAY_TIME].Value.ToString());
// DateTime型の値をDouble型に変換
x1.Minimum = Minimum.ToOADate();
Double型の値を日付に変換する
// DataSourceであるDataGridViewの一番先頭の行に格納されている日時を取得
DateTime startTime = DateTime.Parse(this.dataGridView1.Rows[0].Cells[DAY_TIME].Value.ToString());
// チャートの指定した位置のDouble型の値をDateTime型に変換
DateTime selectTime = System.DateTime.FromOADate(e.NewPosition);
// StartとSelectの差を出す
TimeSpan span = selectTime - startTime;