C#chart控件的应用

本人正在写一个“锂离子成分容上位机软件“”,里面需要用到chart控件,需要读取老师提供的一个文件,并将文件中的数据在chart控件中通过曲线图的形式显示出来,请问需要怎么解决呢?

private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
        {

            OpenFileDialog fileDialog = new OpenFileDialog();
           // fileDialog.Filter = ".hd";
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                string filePath = fileDialog.FileName;
                BinaryFormatter bf = new BinaryFormatter();
                using (FileStream fs = new FileStream(filePath, FileMode.Open))
                {
                    NewChannelInfoData newChannelInfoData = (NewChannelInfoData)bf.Deserialize(fs);
                    List<string> list = new List<string>();

                    //      NewChannelInfoData newChannelInfoData = new NewChannelInfoData();
                    list = newChannelInfoData.chlList;
                   

                     ChannelDataTab channelDataTab = new ChannelDataTab();
                     for (int i = 0; i < list.Count; i++)
                     {
                         string[] ss = list[i].Split('/');

                         channelDataTab.Aux_data = ss[0].Substring(10);
                         channelDataTab.ChannelEfficiency = int.Parse(ss[1].Substring(ss[1].IndexOf("=") + 1));
                         string[] ss2 = ss[2].Split('#');
                         channelDataTab.Charge_cap = float.Parse(ss2[1]);
                         channelDataTab.Charge_energy = float.Parse(ss[3].Substring(ss[3].IndexOf("=") + 1));
                         channelDataTab.CID = ss[4].Substring(ss[4].IndexOf("=") + 1);
                         channelDataTab.Cycle = ss[5].Substring(ss[5].IndexOf("=") + 1);
                         channelDataTab.DC_busVolt = float.Parse(ss[6].Substring(ss[6].IndexOf("=") + 1));
                         channelDataTab.DC_loadCurrent = float.Parse(ss[7].Substring(ss[7].IndexOf("=") + 1));
                         channelDataTab.DC_outputVolt = float.Parse(ss[8].Substring(ss[8].IndexOf("=") + 1));
                         channelDataTab.Diff_current = float.Parse(ss[9].Substring(ss[9].IndexOf("=") + 1));
                         channelDataTab.Diff_volt = float.Parse(ss[10].Substring(ss[10].IndexOf("=") + 1));
                         string[] ss11 = ss[11].Split('@');
                         channelDataTab.Discharge_cap = float.Parse(ss11[1]);
                         channelDataTab.Discharge_energy = float.Parse(ss[12].Substring(ss[12].IndexOf("=") + 1));
                         channelDataTab.GID = int.Parse(ss[13].Substring(ss[13].IndexOf("=") + 1));
                         channelDataTab.IsAll = int.Parse(ss[14].Substring(ss[14].IndexOf("=") + 1));
                         channelDataTab.IsExtra = int.Parse(ss[15].Substring(ss[15].IndexOf("=") + 1));
                         channelDataTab.Load_temper1 = float.Parse(ss[16].Substring(ss[16].IndexOf("=") + 1));
                         channelDataTab.Load_temper2 = float.Parse(ss[17].Substring(ss[17].IndexOf("=") + 1));
                         channelDataTab.Power = float.Parse(ss[18].Substring(ss[18].IndexOf("=") + 1));
                         channelDataTab.SeqId = int.Parse(ss[19].Substring(ss[19].IndexOf("=") + 1));
                         channelDataTab.Status_data = ss[20].Substring(ss[20].IndexOf("=") + 1);
                         channelDataTab.Step_time = float.Parse(ss[21].Substring(ss[21].IndexOf("=") + 1));
                         channelDataTab.StepName = ss[22].Substring(ss[22].IndexOf("=") + 1);
                         channelDataTab.StepNum = int.Parse(ss[23].Substring(ss[23].IndexOf("=") + 1));
                         channelDataTab.StepType = int.Parse(ss[24].Substring(ss[24].IndexOf("=") + 1));
                         channelDataTab.Sys_Time = ss[25].Substring(ss[25].IndexOf("=") + 1);
                         channelDataTab.TestId = ss[26].Substring(ss[26].IndexOf("=") + 1);
                         channelDataTab.TestMode = int.Parse(ss[27].Substring(ss[27].IndexOf("=") + 1));
                         channelDataTab.TestTime = int.Parse(ss[28].Substring(ss[28].IndexOf("=") + 1));
                         string[] ss29 = ss[29].Split('%');
                         channelDataTab.Total_cap = float.Parse(ss29[1]);
                         channelDataTab.Total_energy = float.Parse(ss[30].Substring(ss[30].IndexOf("=") + 1));
                         channelDataTab.WorkType = int.Parse(ss[31].Substring(ss[31].IndexOf("=") + 1));

                     }
                }
            }
        }
文件读取出来后无法再chart控件上显示出来,请问怎么解决?

猜你喜欢

转载自blog.csdn.net/qq_41558814/article/details/85201592
今日推荐