/// <summary> /// オートフォーカスを行う。 /// </summary> private void autoFocus() { if (this.AutoFocus && this.Focused && this.CanAutoFocus()) { ControlExtensions.MoveNextControl(this); } }
/// <summary> /// Enterキー、ESCキーの制御を行います。 /// </summary> /// <param name="msg">Messageオブジェクト</param> /// <param name="keyData">Keysオブジェクト</param> /// <returns>true:以降のイベントハンドラを制御しない, false:以降のイベントハンドラを制御する</returns> protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { // Enter if (EnterFocus && (keyData == Keys.Return || keyData == (Keys.Shift | Keys.Return))) { // 対象がボタンの時は通常制御とする if (this.ActiveControl is Button) { return(base.ProcessCmdKey(ref msg, keyData)); } ControlExtensions.MoveNextControl(this); return(true); } // ESC if (keyData == Keys.Escape) { var rollback = GetControlRollbackObject(); var isRollbacked = IsRollbacked(rollback); // ControlRollback if (this.IsRollbackControl(rollback, isRollbacked)) { var e = new CancelEventArgs(); this.OnControlRollbacking(e); if (e.Cancel) { return(false); } rollback.Rollback(this, this.ActiveControl); return(true); } // ControlLeave if (this.IsLeaveControl(isRollbacked)) { var e = new CancelEventArgs(); this.OnControlLeaving(e); if (e.Cancel) { return(false); } this.LeaveControl(); return(true); } // FormClose if (this.CloseForm()) { return(true); } } return(base.ProcessCmdKey(ref msg, keyData)); }
/// <summary> /// Enterキー、ESCキーの制御を行います。 /// </summary> /// <param name="msg">Messageオブジェクト</param> /// <param name="keyData">Keysオブジェクト</param> /// <returns>true:以降のイベントハンドラを制御しない, false:以降のイベントハンドラを制御する</returns> protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { // Enter if (EnterFocus && keyData == Keys.Return) { // 対象がボタンの時は通常制御とする if (this.ActiveControl is Button) { return(base.ProcessCmdKey(ref msg, keyData)); } ControlExtensions.MoveNextControl(this); return(true); } // ESC if (keyData == Keys.Escape) { var rollback = GetLeaveRollbackObject(); var isRollbacked = IsRollbacked(rollback); // ControlRollback if (this.RollbackControl(rollback, isRollbacked)) { return(true); } // ControlLeave if (this.LeaveControl(isRollbacked)) { return(true); } // FormClose if (this.CloseForm()) { return(true); } } return(base.ProcessCmdKey(ref msg, keyData)); }