There isn't a lot to change. How you execute the code to do the drawing will not change. If you want the user to be able to select an image then this is really the only part that needs to change:
Code:
Private Sub DrawImageRectRect(ByVal e As PaintEventArgs)

    ' Create image.
    Dim newImage As Image = Image.FromFile("SampImag.jpg")

    ' Create rectangle for displaying image.
    Dim destRect As New Rectangle(100, 100, 450, 150)

    ' Create rectangle for source image.
    Dim srcRect As New Rectangle(50, 50, 150, 150)
    Dim units As GraphicsUnit = GraphicsUnit.Pixel

    ' Draw image to screen.
    e.Graphics.DrawImage(newImage, destRect, srcRect, units)
End Sub
All you need to do is provide a way for the user to select a file, e.g. an OpenFileDialog, and store the selected file path in a variable, then use that variable to load your image from instead of your hard-coded file name. That part has got absolutely nothing to do with drawing on the form. If you know how to draw an image on the form then you know how to draw ANY image on the form.