Por si a alguien le sirve lo hice de la siguiente forma:
Nota>El código que yo escribí esta en color morado, lo otro(lo azul) sale por defecto.
...
public ref class Form1 : public System::Windows::Forms::Form
   {
   public:
      Form1(void)
      {
         InitializeComponent();
         //
         //TODO: Add the constructor code here
         //         
      }
   protected:
      /// <summary>
      /// Clean up any resources being used.
      /// </summary>
      ~Form1()
      {
         if (components)
         {
            delete components;
         }
      }
private:
      /// <summary>
      /// Required designer variable.
      /// </summary>
      //De mi
      System::Drawing::Graphics^ myGraphics;
      //Por defecto
      System::ComponentModel::Container ^components;
....
   private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    myGraphics = pictureBox1->CreateGraphics(); 
        //defino las variables necesarias para poder pintar lo que deseo.
   Point startPoint = Point(0,0);
   Point endPoint = Point(14, 15);
   Pen ^penCurrent = gcnew Pen(Color::Red);
//aquí pinto lo que quiera
myGraphics->DrawLine( penCurrent, startPoint, endPoint );   
          }
Está hecho en Visual C++.net 2005 Express. 
Así voy viendo lo que se está dibujando.
Si quisiera dibujar primero y después mostrarlo lo podría hacer creando otro pictureBox2(con la propiedad visible=false) en el que dibujaría como se muestra arriba y posteriormente pasaría el valor de la imagen de este al pictureBox1.
Nuevamente muchas gracias por todas las sugerencias.