public override int SubClassProc(IntPtr hWnd, IntPtr msg, IntPtr wParam, IntPtr lParam, IntPtr uIdSubclass, IntPtr dwRefData)
{
KeyPressEventArgs args;
switch ((WM)msg)
{
case WM.CHAR:
args = new KeyPressEventArgs(hWnd, wParam, lParam);
if (args.Character != '\r' && args.Character != '\n' && args.Character != '\b')
{
OnKeyDown(args);
if (args.Handled) { return 0; }
}
break;
case WM.KEYDOWN: