텍스트박스에 한글만 입력하기
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if((Char.IsPunctuation(e.KeyChar) || Char.IsDigit(e.KeyChar) || Char.IsLetter(e.KeyChar) || Char.IsSymbol(e.KeyChar)) && e.KeyChar != 8)
{
e.Handled = true;
}
}
텍스트박스에 영어만 입력하기
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(!(Char.IsLetter(e.KeyChar)) && e.KeyChar != 8)
{
e.Handled = true;
}
}
private void textBox1_Leave(object sender, System.EventArgs e)
{
Regex emailregex = new Regex(@"[a-zA-Z]");
Boolean ismatch = emailregex.IsMatch(textBox1.Text);
if (!ismatch)
{
MessageBox.Show("영문자만 입력해 주세요.");
}
}
텍스트박스에 숫자만 입력하기
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(!(Char.IsDigit(e.KeyChar)) && e.KeyChar != 8)
{
e.Handled = true;
}
}
private void textBox1_Leave(object sender, System.EventArgs e)
{
Regex emailregex = new Regex(@"[0-9]");
Boolean ismatch = emailregex.IsMatch(textBox1.Text);
if (!ismatch)
{
MessageBox.Show("숫자만 입력해 주세요.");
}
}
음.. 이렇게 두번에 걸쳐 체크한 이유는 한글은 ProcessKey이기 때문에 KeyPress 이벤트가 일어나지 않기 때문입니다. 그렇기 때문에 텍스트박스에서 포커스가 벗어날때 정규식을 이용해 한번더 체크해줘야 합니다. 키값 8번은 백스페이스 값입니다.
[출처] [C#] TextBox에 한글, 영어, 숫자만 입력받기|작성자 좋은생각
ASP.NET
TextBox 에 입력되는 글자를 영어로 할건지, 한국어로 할건지에 대해 설정할때 사용할 수 있는 좋은 방법이 있네요.
1. 영문만 입력 : style="ime-mode:disabled;"
2. 한글/영문 선택 : style="ime-mode:auto;"
3. 기본 한글 입력 : style="ime-mode:active;"
4. 기본 영문 입력 : style="ime-mode:inactive;"
[출처] [ASP.NET] TextBox 한글/영문 제어하기.|작성자 남처리
'개발및업무 > C#' 카테고리의 다른 글
[ASP.NET] using 문 (0) | 2011.09.29 |
---|---|
'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 형식의 사용 권한을 요청하지 못했습니다. (0) | 2011.08.29 |
닷넷에 sqlite 연결 (0) | 2011.06.21 |
web.config db연결 (0) | 2011.05.27 |
Visual Studio .NET 단축키 안내 (0) | 2011.05.16 |