Generate your chart first then pass the chart to your new form. The chart created will be the same size as your form.
Dim MyForm As New Form
Dim Chart1 As New Chart
Chart1.ChartAreas.Add("Area51")
Chart1.Series.Add("Speed")
Chart1.Series("Speed").ChartType = SeriesChartType.Bar
For Each line As String In IO.File.ReadAllLines("C:\FolderWithData\MyData.csv")
Dim points() As Double = Array.ConvertAll(line.Split(","c), Function(s) CDbl(s))
Chart01.Series("Speed").Points.AddXY(points(1), points(0))
Next
MyForm.Controls.Add(Chart01)
MyForm.Show()
This will not work you can not use strings in Points.AddXY, only numbers, like X and Y coordinates. You need to add labels to your data to put the names in.
this.chart1.Series["Speed"].Points.AddXY("James", "90"); NO!
chart1.Series["Speed"].Points.AddXY(0, 90);
chart1.Series["Speed"].Points.AddXY(1, 18);
chart1.Series["Speed"].Points.AddXY(2, 83);
Good luck