Name

NativeWindow

Synopsis

This class encapsulates a system window but does not implement the IWin32Window interface. It provides CreateHandle() and AssignHandle() methods to wrap a native HWND, and DestroyHandle() to clean it up. You can also retrieve a NativeWindow for a particular handle with the static FromHandle() method. The Handle can be retrieved at any time.

You can also invoke the DefWndProc() with a particular Message.

You would typically use this control when you are creating a System.ComponentModel.Component (rather than a Control) that uses a native Win32 window. An example of this in the framework is the ToolTip. It uses a NativeWindow derived class in its implementation to manage the pop-up tip window.


public class NativeWindow : MarshalByRefObject {

// Public Constructors

   public NativeWindow();

// Public Instance Properties

   public IntPtr Handle{get; }

// Public Static Methods

   public static NativeWindow FromHandle(IntPtr handle);

// Public Instance Methods

   public void AssignHandle(IntPtr handle);

   public virtual void CreateHandle(CreateParams cp);

   public void DefWndProc(ref Message m);

   public virtual void DestroyHandle();

   public virtual void ReleaseHandle();

// Protected Instance Methods

   protected override void Finalize();  // overrides object

   protected virtual void OnHandleChange();

   protected virtual void OnThreadException(Exception e);

   protected virtual void WndProc(ref Message m);

}

Hierarchy

System.Object System.MarshalByRefObject NativeWindow

Get .NET Windows Forms in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.