728x90
반응형
728x170
▶ MainForm.cs
using System.Collections.Generic;
using System.Windows.Forms;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : Form
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
KeyPreview = true;
List<KeyItem> list = new List<KeyItem>();
list.Add(new KeyItem { Value = "ControlKey", Text = "Ctrl" });
list.Add(new KeyItem { Value = "ShiftKey" , Text = "Shift" });
list.Add(new KeyItem { Value = "AltKey" , Text = "Alt" });
this.comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
this.comboBox.ValueMember = nameof(KeyItem.Value);
this.comboBox.DisplayMember = nameof(KeyItem.Text );
this.comboBox.DataSource = list;
this.comboBox.SelectedIndex = 0;
KeyUp += Form_KeyUp;
this.textBox.KeyUp += textBox_KeyUp;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 폼 키 UP 처리하기 - Form_KeyUp(sender, e)
/// <summary>
/// 폼 키 UP 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Form_KeyUp(object sender, KeyEventArgs e)
{
string selectedValue = this.comboBox.SelectedValue.ToString();
if(((e.Control && selectedValue == "ControlKey") || (e.Shift && selectedValue == "ShiftKey") ||
(e.Alt && selectedValue == "AltKey")) && (e.KeyCode == (Keys)textBox.Tag))
{
MessageBox.Show("설정한 단축키가 눌렸습니다!");
}
}
#endregion
#region 텍스트 박스 키 UP 처리하기 - textBox_KeyUp(sender, e)
/// <summary>
/// 텍스트 박스 키 UP 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void textBox_KeyUp(object sender, KeyEventArgs e)
{
if(e.KeyValue < 229)
{
this.textBox.Text = e.KeyData.ToString();
this.textBox.Tag = e.KeyData;
}
else
{
this.textBox.Text = string.Empty;
this.textBox.Tag = Keys.None;
}
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WinForm' 카테고리의 다른 글
[C#/WINFORM] TreeView 클래스 : 드래그 & 드롭 사용하기 (0) | 2019.10.03 |
---|---|
[C#/WINFORM] TreeView 클래스 : 첫번째 종말 노드 구하기 (0) | 2019.09.15 |
[C#/WINFORM] TreeView 클래스 : 특정 레벨까지 노드 확장하기 (0) | 2019.09.15 |
[C#/WINFORM] UserControl 클래스 : 환형 진행바 사용하기 (0) | 2019.08.31 |
[C#/WINFORM] Bitmap 클래스 : 투명 배경 비트맵 구하기 (0) | 2019.08.30 |
[C#/WINFORM] Form 클래스 : KeyPreview 속성을 사용해 단축키 설정하기 (0) | 2019.08.30 |
[C#/WINFORM] DesignerSerializationVisibilityAttribute 클래스 : 디자이너 모드에서 속성 코드 자동 생성 막기 (0) | 2019.08.26 |
[C#/WINFORM] UserControl 클래스 : 가상 리스트 박스 사용하기 (0) | 2019.08.16 |
[C#/WINFORM] Process 클래스 : GetProcessesByName 정적 메소드를 사용해 프로그램 중복 실행 여부 구하기 (0) | 2019.08.16 |
[C#/WINFORM] TextBox 클래스 : ScrollToCaret 메소드를 사용해 마지막 라인으로 스크롤하기 (0) | 2019.08.16 |
[C#/WINFORM] 투명 배경 스플래시 이미지 사용하기 (0) | 2019.08.15 |
댓글을 달아 주세요