맞춤형 DatagridView 열은 Windows Vista에서 입력 한 소수점 분리기를 허용하지 않습니다.
-
03-07-2019 - |
문제
프로젝트의 경우 NumericUpdown 컨트롤이 포함 된 사용자 정의 DatagridView 열을 구축했습니다. 그것은 제안과 유사하게 구현됩니다 마이크로 소프트
열은 Windows XP에서 잘 작동합니다. 입력 한 숫자와 소수점 분리기를 수용합니다. Windows Vista에서는 컨트롤이 숫자 키패드에 의해 입력 된 소수점 분리기 만 수용하지만 키보드 기본 블록은 아닙니다.
Wind 스위스의 소수점 분리기는 다음과 같습니다.
누군가 이유와 해결책에 대한 아이디어가 있습니까? 매우 감사합니다!
남자 이름
편집하다: 내 문제에 대한 해결책을 찾았습니다.
상황을 조금 더 명확히하기 위해. NumericUpdown 컨트롤 I를 사용하는 것은 idatagridViewEditingControl을 구현하고 NumerIcupDown에서 상속합니다. idatagridViewEditingControl로 인해 나는 메소드 editingcontrolwantsinputkey를 구현합니다. 그리고이 방법을 구현할 때 나는 나의 실수 또는 무엇이 잘못되었는지 발견했다.
방법에서 입력 된 키를 검사하고 컨트롤이 처리 해야하는지 결정했습니다. 그러나 소수점 분리기의 경우 나는 단지 예상했다 keys.decimal. 내 특별한 (잘못된) 케이스에서는 키를 일치시킬 수 없습니다. 누락 된 것은 찾는 것이 었습니다 keys.oemperiod 도. 그리고 그것은 수정이었습니다.
해결책
OnkeyDown 및/또는 OnkeyPress 코드를 붙여 넣을 수 있습니까? 적어도 관련 키 필터링 코드. 문제를 더 쉽게 찾을 수 있습니다.
BTW, 나는 일반적으로 영국 영어와 브라질 포르투갈 키보드를 모두 사용하므로 이러한 문제에 대한 저의 몫을 가졌습니다. 그런 종류의 지역화 전문가가되도록 강요합니다. :)
편집하다: 아, 죄송합니다. 재고 Numericupdown 컨트롤을 사용하고 있음을 다시 읽고 이해했습니다. 여기서 시도해 볼 수 있도록 열 코드를 지적 할 수 있습니까? 아마도 로케일이 제어를 위해 설정되지 않았으며, 어느 시점에서 수동으로 수행해야합니다.