첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ TextBox 클래스 : 숫자만 입력하기

----------------------------------------------------------------------------------------------------

XAML

 

 

<TextBox

    HorizontalAlignment="Center"

    VerticalAlignment="Center"

    Width="100"

    Height="25"

    TextAlignment="Right"

    PreviewTextInput="OnTextBoxPreviewTextInput" />

 

 

C#

 

 

using System.Text.RegularExpressions;

using System.Windows.Input;

 

#region 숫자 여부 구하기 - IsNumeric(source)

 

/// <summary>

/// 숫자 여부 구하기

/// </summary>

/// <param name="source">소스 문자열</param>

/// <returns>숫자 여부</returns>

public bool IsNumeric(string source)

{

    Regex regex = new Regex("[^0-9.-]+");

 

    return !regex.IsMatch(source);

}

 

#endregion

 

#region 텍스트 박스 텍스트 입력 프리뷰 처리하기 - OnTextBoxPreviewTextInput(sender, e)

 

/// <summary>

/// 텍스트 박스 텍스트 입력 프리뷰 처리하기

/// </summary>

/// <param name="sender">이벤트 발생자</param>

/// <param name="e">이벤트 인자</param>

private void OnTextBoxPreviewTextInput(object sender, TextCompositionEventArgs e)

{

    e.Handled = !IsNumeric(e.Text);

}

 

#endregion

 

----------------------------------------------------------------------------------------------------

※ 숫자, 부호, 마침표 만 입력될 수 있으나 마침표를 중복해서 입력할 수 있고 부호 입력 순서도 바꿔 입력할 수 있다.

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요