Graphics.FromHwnd(IntPtr) Graphics.FromHwnd(IntPtr) Graphics.FromHwnd(IntPtr) Graphics.FromHwnd(IntPtr) Method


Creates a new Graphics from the specified handle to a window.

 static System::Drawing::Graphics ^ FromHwnd(IntPtr hwnd);
public static System.Drawing.Graphics FromHwnd (IntPtr hwnd);
static member FromHwnd : nativeint -> System.Drawing.Graphics
Public Shared Function FromHwnd (hwnd As IntPtr) As Graphics


IntPtr IntPtr IntPtr IntPtr

Handle to a window.


This method returns a new Graphics for the specified window handle.


The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler, as well as thisForm, the Form for the example. The code performs the following actions:

  • Creates a new internal pointer variable hwnd and sets it to the handle of the example's form.

  • Creates a new Graphics from the handle.

  • Draws a rectangle to the new Graphics using a red pen.

  • Disposes the new Graphics.

   void FromHwndHwnd( PaintEventArgs^ /*e*/ )
      // Get handle to form.
      IntPtr hwnd = this->Handle;

      // Create new graphics object using handle to window.
      Graphics^ newGraphics = Graphics::FromHwnd( hwnd );

      // Draw rectangle to screen.
      newGraphics->DrawRectangle( gcnew Pen( Color::Red,3.0f ), 0, 0, 200, 100 );

      // Dispose of new graphics.
      delete newGraphics;
private void FromHwndHwnd(PaintEventArgs e)

    // Get handle to form.
    IntPtr hwnd = this.Handle;

    // Create new graphics object using handle to window.
    Graphics newGraphics = Graphics.FromHwnd(hwnd);

    // Draw rectangle to screen.
    newGraphics.DrawRectangle(new Pen(Color.Red, 3), 0, 0, 200, 100);

    // Dispose of new graphics.
Private Sub FromHwndHwnd(ByVal e As PaintEventArgs)

    ' Get handle to form.
    Dim hwnd As IntPtr = Me.Handle

    ' Create new graphics object using handle to window.
    Dim newGraphics As Graphics = Graphics.FromHwnd(hwnd)

    ' Draw rectangle to screen.
    newGraphics.DrawRectangle(New Pen(Color.Red, 3), 0, 0, 200, 100)

    ' Dispose of new graphics.
End Sub


You should always call the Dispose method to release the Graphics and related resources created by the FromHwnd method.


for access to unmanaged code. Related enumeration: UnmanagedCode.

Applies to