DekGenius.com
[ Team LiB ] Previous Section Next Section

NativeWindowmarshal by reference

System.Windows.Forms (system.windows.forms.dll)class

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

    [ Team LiB ] Previous Section Next Section