Programming/C#

텍스트 박스에 HEX만 입력 필터링

고을 2020. 12. 4. 09:21
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
  /* HEX만 입력 되도록 필터링 */
  if (!(char.IsDigit(e.KeyChar) || e.KeyChar == Convert.ToChar(Keys.Back) || 
        "ABCDEF0123456789abcdef".IndexOf(e.KeyChar) != -1)) /* 숫자와 백스페이스를 제외한 나머지를 바로 처리 */
  {
    e.Handled = true;
  }
}
/// <summary>
/// character가 hex characters, spaces, backspace, and delete 이면 true를 반환
/// </summary>
/// <param name="c"></param>
/// <returns></returns>
public bool IsHexDigit(char c)
{
    return Uri.IsHexDigit(c) || c == ' ' || c == '\b' || c == '\u007F' || c == '\u0016' || c == '\u0003';
}