2008-10-01 8 views

답변

1

모든 오류를 제공하는 요약 유효성 검사기가 있지만 꽤보기가 어렵습니다. 페이지에 표시하지 않고 사용할 수 있는지 확실하지 않습니다. 기술적으로 "올바른 방법"을 수행하는 경우, 오류 처리는 모두 중얼 거림에서 처리되어야하며 그런 식으로 화면에 버블 링되어야합니다. 따라서 컬렉션 또는 사전의 모든 오류에 대한 액세스 권한을 이미 갖게됩니다. 등 구글이를 찾을 모든 .NET 윈폼 사람들을 위해

2

...

적어도 수 없습니다 모든 컨트롤에 액세스하지 않고 현재의 모든 오류 "오류 제공자"클래스를 통해 표시되는 열거 윈폼에서

, WinForms에 요약 유효성 검사기조차 없다.

그러나 오류가 하위 레이어에서 위로 튀어 오르는 경우 포스터 Charles Graham이 지적 하듯이 어딘가에 어딘가에있는 컬렉션에 액세스 할 수 있어야합니다.

2

WinForms에서 응용 프로그램이 잘 정의 된 "레이어"가 없으면 간단하면 ErrorProvider를 래핑하여 현재의 모든 오류를 노출하는 클래스에 넣을 수 있습니다. 또는 앱이 정말 단순하다면 오류를 기록/삭제하고 ErrorProvider를 업데이트하는 도우미 메서드를 만듭니다.

4

상위의 Controls 컬렉션을 열거하고 각각에 대해 GetError를 호출하여 ErrorProvider에서 모든 오류를 가져올 수 있습니다. 효율적이지 않지만 작동합니다.

foreach (Control ctrl in errProv.ContainerControl.Controls) 
{ 
    Console.WriteLine(errProv.GetError(ctrl)); 
}