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.