두 개의 텍스트 상자에 값이있을 때까지 "제출"버튼을 사용하지 않으려 고합니다. 나는 이것에 관해 어떻게 가야하는지 완전히 명확하지 않다.txtBox가 유효 할 때까지 버튼을 사용하지 않음 C#
답변
이것은 WinForms이므로 텍스트 상자에서 TextChanged
이벤트를 모니터링하고 단추의 활성화 상태를 업데이트하는 메서드를 호출해야합니다 (여기서 string.IsNullOrEmpty
및 string.IsNullOrWhiteSpace
이 유용합니다).
다음 예제에서는 단추를 사용하기 전에 텍스트 상자에 내용을 표시하려는 간단한 상황을 보여줍니다. 당신은 더 복잡하고 시간이 많이 소요 활성화 상태를 결정하기 위해 뭔가를하고 싶은 경우
private void OnTextChanged(object sender, EventArgs args)
{
UpdateUserInterface();
}
private void UpdateUserInterface()
{
this.myButton.Enabled = !string.IsNullOrWhiteSpace(this.textBox1.Text) &&
!string.IsNullOrWhiteSpace(this.textBox2.Text);
}
, 당신은 입력이 완료 될 때까지 버튼의 상태 업데이트를 지연시키는 것을 고려할 수 있습니다. 예를 들어 작은 간격의 타이머는 TextChanged
이벤트가 발생하고 마침내 UpdateUserInterface
메서드를 호출하는 자체 Tick
이벤트 처리기에서 중지 될 때마다 다시 시작됩니다. 이 학습 나는이 정보를 사냥 사람들을 위해 노트를 좌우로 다음 사항을 강등 한 윈폼 응용 프로그램이기 때문에
사이드
을 말한다.
WPF의 경우 비슷한 방법을 사용하거나 적절한 값 변환기를 사용하여 교활한 바인딩을 사용할 수 있습니다. 나는 그것을 간단하게 유지하는 것이 좋습니다.
ASP.NET의 경우 클라이언트 측에서 javacript를 사용하여 텍스트 상자의 onChange
이벤트에 연결하고 값 *을 테스트 할 수 있습니다. 그 여분의 정보를 Oded에
** 감사합니다. *
asp.net에서 이것은 자바 스크립트로 클라이언트 측에서 수행 할 수 있습니다 - 텍스트 상자의 'onChange' 이벤트에 연결하고 값을 테스트합니다. – Oded
@Oded : 감사합니다. 답변을 업데이트하겠습니다. –
그것은 C# WinForms에 있습니다. –
Winfoems 또는 WPF에서, 하나의 핸들러와 두 텍스트 상자의의 TextChanged 이벤트에 후크. 이 핸들러에서 두 텍스트 상자의 현재 텍스트를 봅니다 (심도 깊게 들어 가지 마십시오. 모든 키 입력에서 이벤트가 발생하므로 심층적 인 유효성 검사로 UI 응답 속도가 느려집니다). 텍스트가 비어 있지 않으면 또는 여백 만 사용하려면 버튼을 활성화하십시오. 그렇지 않으면 비활성화하십시오.
ASP.NET에서 JavaScript를 사용해야합니다. DOM의 텍스트 상자에는 WinForms와 비슷한 작업을 수행하는 Javascript 함수를 지정할 수있는 유사한 OnChanged 이벤트가 있습니다. 자바 스크립트가 비활성화 된 상태에서 브라우저를 실행할 수 있으므로 서버 측에서 null을 확인하고 기본적으로 버튼이 비활성화되어 있지 않은지 확인해야합니다 (자바 스크립트, OnChanged 함수 또는 문서로드).
- 1. iPhone-MPMediaPlayer 앞으로 탐색 버튼을 사용하지 않음
- 2. as3 버튼을 클릭 할 때까지 이미지가로드 될 때까지 대기
- 3. 창을 사용하지 않음
- 4. 사용자가 이전 버튼을 탐색 할 때까지 버튼을 비활성화하는 방법은 무엇입니까?
- 5. 버튼을 계속 놓을 때까지 버튼을 눌러야합니다.
- 6. 배경에서 창을 사용하지 않음
- 7. 여러 번 클릭 할 때 제출 버튼을 사용하지 않습니다. (C#)
- 8. JSF에서 commandButton을 사용하지 않음
- 9. 인터넷에 연결되어 있지 않을 때 버튼을 사용하지 않음
- 10. C# 데이터 그리드 스크롤을 사용하지 않음
- 11. C++ (STL을 사용하지 않음) 용 Anagram generator
- 12. 기본 스타일을 유지하면서 버튼셋을 사용하지 않음
- 13. MySQL - 색인을 사용하지 않음
- 14. 컨트롤러를 테스트 할 때 렌더를 사용하지 않음
- 15. 문서의 목차를 사용하지 않음
- 16. 버튼을 클릭 할 때까지 프로그램을 대기 상태로 만드는 방법
- 17. webdriver가 버튼을 클릭하지 않음
- 18. glBlendFunc 쉐이더를 사용하지 않음
- 19. eshell 디스플레이 버퍼를 사용하지 않음
- 20. 다른 버튼을 누를 때까지 제출 버튼을 비활성화하는 방법은 무엇입니까?
- 21. C++ 사용 유효 C++의 42 페이지
- 22. GPS 기능을 사용하지 않음
- 23. MipMapping을 사용하지 않음
- 24. ListView를 사용한 후에 사용하지 않음
- 25. richTextBox에서 텍스트를 선택할 때 스크롤을 사용하지 않음 (C#)
- 26. IIS 7에서 void 메서드를 호출하고 반환 할 때까지 기다리지 않음
- 27. jquery 플러그인을 동적으로 사용하지 않음
- 28. Emacs에서 마우스 클릭을 사용하지 않음
- 29. 브라우저에서 ssl 경고를 사용하지 않음
- 30. $ _GET 매개 변수를 사용하지 않음
WinForms? ASP.NET? 다른 것? –
WinForms (C#) 물론입니다. –