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

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

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

XAML

 

 

<TextBox

    HorizontalAlignment="Center"

    VerticalAlignment="Center"

    Width="100"

    Height="25"

    TextAlignment="Right"

    TextChanged="OnTextBoxTextChanged" />

 

 

C#

 

 

using System.Windows.Controls;

 

#region 텍스트 박스 텍스트 변경시 처리하기 - OnTextBoxTextChanged(sender, e)

 

/// <summary>

/// 텍스트 박스 텍스트 변경시 처리하기

/// </summary>

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

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

private void OnTextBoxTextChanged(object sender, TextChangedEventArgs e)

{

    TextBox textBox         = sender as TextBox;

    int     selectionStart  = textBox.SelectionStart;

    int     selectionLength = textBox.SelectionLength;

    string  result          = string.Empty;

    int     count           = 0;

 

    foreach(char character in textBox.Text.ToCharArray())

    {

        if(char.IsDigit(character) || char.IsControl(character) || (character == '.' && count == 0))

        {

            result += character;

 

            if(character == '.')

            {

                count += 1;

            }

        }

    }

 

    textBox.Text = result;

 

    textBox.SelectionStart = selectionStart <= textBox.Text.Length ? selectionStart : textBox.Text.Length;    

}

 

#endregion

 

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

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요