이것은 약간 이상한 것입니다. 그러나 몇 시간 동안 고생하고 있었고 현재 무슨 일이 일어나고 있는지 이해할 수 없습니다.Dataabound에서 탭을 열 수 없습니다. Winforms 드롭 다운 목록
나는이 문제를 다른 사람이 경험했는지 궁금해서 설명해주었습니다. 간단한 Winforms 앱을 만들고 많은 내장 컨트롤을 사용하려고합니다.
기본적으로 사용자 컨트롤과 일부 데이터 캡처 필드가있는 양식이 있습니다. 필드 중 3 개는 드롭 다운 목록이고 사용자 정의 컨트롤에는 Product 클래스에 직접 바인드하는 bindingSource 컨트롤이 있습니다.
런타임에는 Product 클래스의 인스턴스를 BindingSource에 제공하고 클래스에는 ProductType
의 속성이 있습니다. 간단히하기 위해 제품 클래스에 List<ProductType>
ProductTypes를 추가하여 쿼리 할 때 자체로드됩니다. 즉, 동일한 bindingSource를 사용하고 ProductTypes
데이터 멤버를 드롭 다운 목록의 데이터 소스로 선택할 수 있습니다.
양식을 실행하면 목록이 완벽하게 바인딩되고 나열된 모든 제품 유형을 볼 수 있으며 하나를 선택하고 탭을 클릭하거나 다음 필드를 클릭 할 수 있습니다. 그러나 분명히 선택된 값은 바인드하지 않습니다. 왜냐하면 드롭 다운에 대해 SelectedValue라는 바인딩을 선택하지 않았기 때문에 데이터 소스 만 바인딩됩니다. Drop down이 Bindings-SelectedValue에 바인딩하여 Product의 인스턴스를 수정하고 폼을 실행하자마자 목록은 여전히 완벽하게 채워지고 내가하지 않는 한 컨트롤을 통해 탭을 만들 수 있습니다. 드롭 다운에서 선택하십시오. 드롭 다운에서 선택하면 드롭 다운에 포커스가 있습니다. 나는 사랑이나 돈을 지불 할 수 없으며 양식의 취소 버튼을 클릭 할 수도 없습니다. 닫기 버튼 오른쪽 버튼은 클릭 할 수있는 유일한 버튼이며 다른 필드 나 드롭 다운을 클릭 할 수 없습니다. 이것은 선택이 이루어 지자 마자 세 번의 드롭 다운 모두에 영향을줍니다.
누구나 내가 누락 된 아이디어가 있습니까?
나는 몇 가지를 변경하려고 시도했지만 드롭 다운 값에 개체 멤버 대신 문자열 []을 입력하여 성공을 거두었습니다. 그건 작동하는 것,하지만 데이터 바인딩을 사용하는 개체를 패배하지 않는가?
도움을 주셨습니다.
많은 Tom에게 감사드립니다. 테스트 앱이므로 유효성 검사를 포함하지 않을 때 어떤 일이 발생하는지 보여줍니다. – RobertTheGrey
그런 유효성 검사 오류를 잡을 수 있습니까? 그것은 심지어 무엇일까요? – Lamar