你没有再Load事件中加Timer的Tick事件private void MainForm_Load(object sender, EventArgs e)
{
s1 = new Series();
s1.ChartType = SeriesChartType.Line;
s1.Color = Color.Gold;
s1.BorderWidth = 1;
s1.ShadowOffset = 0;
s1.IsVisibleInLegend = false;
s1.MarkerStyle = MarkerStyle.Circle;
s1.MarkerSize = 3;
s1.XValueType = ChartValueType.Time;
s1.YValueType = ChartValueType.Auto;
cht1.Location = pt;
cht1.Width = 445;
cht1.Height = 172;
cht1.BackColor = Color.Azure;
cht1.Titles.Add("Power history curve");
cht1.Series.Add(s1);
Controls.Add(cht1);
System.Timers.Timer timer1 = new System.Timers.Timer(1000);
timer1 .Elapsed += new System.Timers.ElapsedEventHandler(timer1_Elapsed);
timer1 .AutoReset = true;
timer1 .Enabled = true;
}private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
dt = DateTime.Now;
dt.ToLongTimeString();
cht1.Series[0].Points.AddXY(dt.ToLongTimeString(), 10);//每次定时到时都画一个纵坐标为10的点
}
{
s1 = new Series();
s1.ChartType = SeriesChartType.Line;
s1.Color = Color.Gold;
s1.BorderWidth = 1;
s1.ShadowOffset = 0;
s1.IsVisibleInLegend = false;
s1.MarkerStyle = MarkerStyle.Circle;
s1.MarkerSize = 3;
s1.XValueType = ChartValueType.Time;
s1.YValueType = ChartValueType.Auto;
cht1.Location = pt;
cht1.Width = 445;
cht1.Height = 172;
cht1.BackColor = Color.Azure;
cht1.Titles.Add("Power history curve");
cht1.Series.Add(s1);
Controls.Add(cht1);
System.Timers.Timer timer1 = new System.Timers.Timer(1000);
timer1 .Elapsed += new System.Timers.ElapsedEventHandler(timer1_Elapsed);
timer1 .AutoReset = true;
timer1 .Enabled = true;
}private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
dt = DateTime.Now;
dt.ToLongTimeString();
cht1.Series[0].Points.AddXY(dt.ToLongTimeString(), 10);//每次定时到时都画一个纵坐标为10的点
}
private void MainForm_Load(object sender, EventArgs e)
{
s1 = new Series();
s1.ChartType = SeriesChartType.Line;
s1.Color = Color.Gold;
s1.BorderWidth = 1;
s1.ShadowOffset = 0;
s1.IsVisibleInLegend = false;
s1.MarkerStyle = MarkerStyle.Circle;
s1.MarkerSize = 3;
s1.XValueType = ChartValueType.Time;
s1.YValueType = ChartValueType.Auto;
cht1.Location = pt;
cht1.Width = 445;
cht1.Height = 172;
cht1.BackColor = Color.Azure;
cht1.Titles.Add("Power history curve");
cht1.Series.Add(s1);
Controls.Add(cht1);
//加上这个试试
for (int i = 0; i < cht1.Series.Count; i++)
{
cht1.Series[i].ChartType = SeriesChartType.Line;
}}