Resize control in winform app (XNA 4.0/Monogame)

I’m working on an charting app(winform vb.net) that use the following code to draw a lines chart on a picturebox ;
It work fine, but when I maximize the form, and the picturebox size change, the chart is stretched; any advice? For now I’m working on XNA 4.0, but for release, if I’ll not have iusses I’ll go with the lastest Monogame release.(note in the following code I put only one line, but in the real app there is a for cycle that draw 2k of lines)

Imports Microsoft.Xna.Framework
Imports Microsoft.Xna.Framework.Graphics

Private quit As Boolean = False
Public grafix As GraphicsDevice

Private Function initialize(ByRef surface As PictureBox) As Boolean
Try
Dim pparam As New PresentationParameters
pparam.DeviceWindowHandle = surface.Handle
pparam.IsFullScreen = False

    Dim grafixAdapt As GraphicsAdapter = GraphicsAdapter.DefaultAdapter

    grafix = New GraphicsDevice(grafixAdapt, GraphicsProfile.HiDef, pparam)


    initialize = True
Catch ex As Exception
    initialize = False
End Try

End Function

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'Set up the initialize function found above
If InitializeGraphics(pbGame) AndAlso InitializeEffect(grafix) Then
BackgroundWorker1.RunWorkerAsync()
Else
MessageBox.Show(“There was a problem initializing XNA.”)
Me.Close()
End If
End Sub

Private effect As BasicEffect
Private Function InitializeEffect(ByVal graphics As GraphicsDevice) As Boolean
effect = New BasicEffect(graphics)

Try
    effect.VertexColorEnabled = True
    effect.Projection = Matrix.CreateOrthographicOffCenter(0, graphics.Viewport.Width, graphics.Viewport.Height, 0, 0, 1)

    InitializeEffect = True
Catch ex As Exception
    InitializeEffect = False
End Try

End Function

Private Function Set2dLine(ByVal x1 As Integer, ByVal y1 As Integer, ByVal z1 As Integer, _
ByVal x2 As Integer, ByVal y2 As Integer, ByVal z2 As Integer, _
ByVal color As Color) As VertexPositionColor()
Dim vertices1, vertices2 As New VertexPositionColor

    vertices1.Position = New Vector3(x1, y1, z1)
    vertices1.Color = color
    vertices2.Position = New Vector3(x2, y2, z2)
    vertices2.Color = color

    Return {vertices1, vertices2}
End Function

Private Sub BackgroundWorker1_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Do Until quit = True
grafix.Clear(Color.CornflowerBlue)

    effect.CurrentTechnique.Passes(0).Apply()

    Dim newline() As VertexPositionColor = Set2dLine(50, 10, 0, 150, 10, 0, Color.Black)
    

    grafix.DrawUserPrimitives(PrimitiveType.LineList, newline, 0, 1)
  

    grafix.Present()
Loop

End Sub