protected internal void RaiseProcessKeyCommand(ProcessKeyCommandEventArgs e)
 {
     if (ProcessKeyCommand != null)
     {
         ProcessKeyCommand(this, e);
     }
 }
 void OnTileControlProcessKeyCommand(object sender, ProcessKeyCommandEventArgs e)
 {
     if (e.KeyData == Keys.Escape && e.TileControl.ShouldProcessEsc)
     {
         System.Diagnostics.Debug.Print("Escape Processed !!");
         e.Result = KeyCommandResult.True;
         return;
     }
     e.Result = KeyCommandResult.None;
 }
        protected override bool OnKeyDownCore(Keys keyData)
        {
            ProcessKeyCommandEventArgs e = new ProcessKeyCommandEventArgs(MyTileControl, keyData);

            MyTileControl.RaiseProcessKeyCommand(e);
            if (e.Result == KeyCommandResult.None)
            {
                return(base.OnKeyDownCore(keyData));
            }
            return(e.Result == KeyCommandResult.True ? true : false);
        }