■ Form 클래스의 ProcessCmdKey 메소드를 재정의해 단축키를 사용하는 방법을 보여준다.
▶ 예제 코드 1 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
using System.Windows.Forms; #region 명령 키 처리하기 - ProcessCmdKey(message, keys) /// <summary> /// 명령 키 처리하기 /// </summary> /// <param name="message">Message</param> /// <param name="keys">Keys</param> /// <returns>처리 결과</returns> protected override bool ProcessCmdKey(ref Message message, Keys keys) { Keys workKey = keys & ~(Keys.Shift | Keys.Control); switch(workKey) { case Keys.S : if((keys & Keys.Control) != 0) { MessageBox.Show("Ctrl+S 키를 눌렀습니다."); return true; } break; case Keys.F5 : MessageBox.Show("F5 키를 눌렀습니다."); return true; } return base.ProcessCmdKey(ref message, keys); } #endregion |
▶ 예제 코드 2 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
using System.Windows.Forms; #region 명령 키 처리하기 - ProcessCmdKey(message, keys) /// <summary> /// 명령 키 처리하기 /// </summary> /// <param name="message">Message</param> /// <param name="keys">Keys</param> /// <returns>처리 결과</returns> protected override bool ProcessCmdKey(ref Message message, Keys keys) { if(!base.ProcessCmdKey(ref message, keys)) { if(keys.Equals(Keys.F1)) { // TODO : ... return true; } else { return false; } } else { return true; } } #endregion |