텍스트 상자에 이름을 입력하는 동안 '_'(밑줄)을 제외한 특수 문자를 방지하기 위해 어떤 코드를 작성해야합니까?사용자가 WinForms 텍스트 상자에 입력하는 문자의 유효성을 검사하려면 어떻게합니까?
이러한 문자가 있으면 팝업 메시지가 나타납니다.
텍스트 상자에 이름을 입력하는 동안 '_'(밑줄)을 제외한 특수 문자를 방지하기 위해 어떤 코드를 작성해야합니까?사용자가 WinForms 텍스트 상자에 입력하는 문자의 유효성을 검사하려면 어떻게합니까?
이러한 문자가 있으면 팝업 메시지가 나타납니다.
내가 당신의 코드를 작성하는 대신, 여기에 그런 위업을 달성하는 데 필요한 기본 단계는 다음과 같습니다
이 TextBox
컨트롤에 대한 KeyDown
이벤트를 처리합니다.
입력 한 문자가 허용되는지 여부를 확인하려면 Char.IsSymbol
method과 같은 것을 사용하십시오. 밑줄을 명시 적으로 확인하십시오. 다른 기호의 특별한 경우로 허용하고 싶기 때문입니다.
유효한 문자를 입력 한 경우 아무 것도 입력하지 마십시오. WinForms는 텍스트 상자에 그것을 삽입 처리합니다.
그러나 잘못된 문자를 입력 한 경우 문자를 텍스트 상자에서 허용하지 않는다는 메시지를 사용자에게 표시해야합니다. 여기에 할 일 :
e.SuppressKeyPress
property을 True로 설정하십시오. 이렇게하면 문자가 텍스트 상자에 나타나지 않습니다.
표시 문자가 입력 한 사용자가 텍스트 상자에 의해 허용되지 않음을 나타내는 및 이 고려 유효한 입력 어떤 문자를 알리는 텍스트 상자에 툴팁 창.
가장 쉬운 방법은 ToolTip
class입니다. 이 컨트롤을 디자인 타임에 폼에 추가하고 적절한 경우 Show
method의 오버로드 중 하나를 사용하여 폼을 표시합니다.
특히, 과부하 중 하나를 사용하여 IWin32Window
을 지정하여 도구 설명을 텍스트 상자 컨트롤과 연결할 수 있습니다.
또는 대신 툴팁, 당신은 마지막 입력이 유효 사용자에게 알리는, 옆에있는 텍스트 상자 컨트롤에 약간의 오류 아이콘을 표시 할 수 있습니다. 이것은 ErrorProvider
control을 사용하여 구현하기 쉽습니다. 툴팁 컨트롤처럼 디자인 타임에 양식에 추가하고 런타임시 SetError
method을 호출하여 오류 메시지를 표시하십시오.
무슨 일이 있어도, 하지 디스플레이 메시지 상자를 해! 입력을 시도하는 사용자가 혼란을 겪고 있기 때문에 실수로 입력하려는 다음 문자를 입력하여이를 무시합니다.
아주 좋은 대답. 나는 좋은 사용자 경험, 특히 메시지 상자에 대한 조언을하기 위해 통합해야하는 모든 훌륭한 디자인을 설명한다는 사실을 좋아합니다. –
TextBox
의 KeyDown
이벤트에 처리기를 추가하십시오. 거기에서 눌려진 키를 검사 할 수 있으며 메시지 상자를 팝업하는 것을 포함하여 원하는 키를 할 수 있습니다.
그는 이름에 _ _을 썼다. _ 텍스트 _라고 말하고 싶습니까? 나는 그가 정말로 묻고있는 것이 무엇인지 깨닫지 못했기 때문에 대답을하지 않았다. @Raj에게 특별한 감사를 전한다. 읽을 수 없기 때문에이 게시물을 편집하는 것이 더 좋다. – Marco
@Marco : 나는 잘 모르겠다. 그는 ** 텍스트 상자에 ** 이름을 입력하는 것을 썼습니다. * 아마도 TextBox는 사용자 이름을 보유하고있을 것입니다. 나는 확실하지 않지만 그 질문에 중요하지 않습니다. 내가 놓친 게 있니? –
당신이 쓴 코드를 제공합니다 : 우리가 당신을 위해 모든 일을하지 않을 수 있습니다을 ... – Marco
나는 왜 합리적인 질문에 대한 그런 가혹한 반응이 있었는지 궁금해했다. 그리고 나서 "plz가 코드를 보내"라는 말로 문자 그대로 시작했다. ... – Justin