fork download
  1. using System;
  2.  
  3. public class Test
  4. {
  5. public Form1()
  6. {
  7. InitializeComponent();
  8. }
  9.  
  10. private int PintChartX_Max = 5; // X軸の秒数
  11. System.Windows.Forms.Timer st; // フォームタイマー
  12. int PintTimerCount; // カウント数(秒数)
  13.  
  14. private List<DateTime> Plst_ChartTime; // 時間配列
  15. private DateTime PdtStart; // 開始時間
  16.  
  17. private void Form1_Load(object sender, EventArgs e)
  18. {
  19. // グラフ初期化
  20. chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastLine; // 線グラフ
  21.  
  22. chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss";
  23. chart1.ChartAreas[0].AxisX.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Seconds;
  24. chart1.ChartAreas[0].AxisX.Interval = 1.0;
  25.  
  26. // Seriesも変更
  27. chart1.Series[0].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Time;
  28.  
  29. PintTimerCount = 0;
  30. Plst_ChartTime = new List<DateTime>();
  31. PdtStart = new DateTime();
  32.  
  33. // 1秒毎に描画
  34. st = new Timer();
  35. st.Tick += new EventHandler(subTimer);
  36. st.Interval = 1000;
  37. st.Start();
  38. }
  39.  
  40. // タイマーで使用される関数
  41. private void subTimer(object sender,EventArgs e)
  42. {
  43. // 毎回初期化
  44. chart1.Series[0].Points.Clear();
  45. chart1.Series[0].Points.AddXY(0.0, double.NaN);
  46.  
  47. // X軸を動かす
  48. DateTime dtMin,dtMax;
  49. dtMin = new DateTime();
  50. dtMax = new DateTime();
  51. if (PintChartX_Max > PintTimerCount)
  52. {
  53. dtMax = dtMax.AddSeconds(PintChartX_Max);
  54. }
  55. else
  56. {
  57. dtMin = dtMin.AddSeconds(PintTimerCount - PintChartX_Max);
  58. dtMax = dtMax.AddSeconds(PintTimerCount);
  59. }
  60. chart1.ChartAreas[0].AxisX.Minimum = dtMin.ToOADate();
  61. //chart1.ChartAreas[0].AxisX.Maximum = dtMax.ToOADate();
  62. chart1.ChartAreas[0].AxisX.Maximum = dtMax.AddMilliseconds(100).ToOADate(); // ← 時間を加算することで、枠が安定する
  63.  
  64. chart1.ChartAreas[0].AxisY.Minimum = -1.0; // Y軸の最小値 ← ???動く???
  65. chart1.ChartAreas[0].AxisY.Maximum = 3.0; // Y軸の最大値
  66.  
  67. // チャート描画(仮:0秒と最新秒を繋ぐだけの1本線)
  68. Plst_ChartTime.Add(PdtStart.AddSeconds(PintTimerCount));
  69. chart1.Series[0].Points.AddXY(Plst_ChartTime[PintTimerCount], 2.2);
  70. PintTimerCount++;
  71. }
  72.  
  73. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cs(5,16): error CS1520: Class, struct, or interface method must have a return type
Compilation failed: 1 error(s), 0 warnings
stdout
Standard output is empty