2009-11-25 5 views
0

텍스트 필드에서 사용자 입력을 제어하는 ​​방법을 찾고 있습니다. , 즉 하나의 입력란은 double, 하나의 입력란, 하나의 입력란 int가 될 수 있습니다. 나를 돌볼 수있는 라이브러리가 있습니까?텍스트 필드에 대한 사용자 입력 제어

사용 : VS 2008, C#을 WPF

답변

1

int.TryParse()를

시도 할 수 있습니다

훨씬 쉬워 !! 이는 수도 문제의 컨트롤이 포커스를 잃을 때까지

textbox1.Validate += delegate(sender, eventArguments) 
        { 
         double val; 
         if (!int.TryParse(textbox1.Text, out val) 
         { 
          eventArguments.Cancel = true; 
         } 
        } 

그러나, 유효성 검사 이벤트가 발생하지 않습니다 : 상자를 보장하는 검증 대리자를 설정하는 텍스트 상자의 Validate 이벤트를 사용할 수 있습니다

0

하나는 유효한 텍스트가 사용자가 필요로하는 사용자 경험을 제공하지 않습니다. 즉, 사용자가 유효하지 않은 값을 입력 할 수 있으며 텍스트가 유효성을 검사 할 때까지 컨트롤이 종료되기 전까지는 유효하지 않습니다. 유효하지 않은 문자 나 값이 실제로 입력되지 않도록하려면 TextChanged 이벤트를 가로 채고 각 단계에서 텍스트의 유효성을 검사해야합니다.

TextChanged에 반응하도록 선택한 경우 중간 값이 필요한 유형으로 구문 분석되지 않을 수 있습니다. 예를 들어 텍스트 상자가 날짜로 제한되고 사용자가 '26/11/2009 '이면 유효한 날짜가 아닌 첫 번째 문자 뒤에 텍스트가'2 '가됩니다.

관련 문제