제가 일하는 회사는 비정상적으로 오래된 데이터베이스 시스템과 비 ASCII 문자가 발생할 때 하드 오류를 발생시키는 많은 레거시 응용 프로그램을 가지고 있습니다. 전체 .Net winforms 응용 프로그램에서 입력을 제한된 문자 집합으로 제한하는 방법은 무엇입니까? (vb.net/c#)
는 그 애플리케이션들이 vb.net의 윈폼 응용 프로그램의 백 엔드를 포장하기 시작 갈 필요가 실현 때문에, 이러한 오래된 시스템을 포장의 1.5 년 후에 그들은이 버그를 발견했다.그들은 문제를 해결하기 위해 나를 고용했습니다. :
대부분의 경우 UI는 DevExpress와 같은 제 3 자의 데이터 바인딩 및 FormView-esque 솔루션을 사용하여 작성되었으므로 UI를 분해하고 비슷한 중간 유틸리티 함수로 재구성해야합니다 다음에 모든 텍스트 상자는 기본적으로하는 동작 많은 웹 브라우저와 유사한 ASCII를 처리 할 수 있도록
TextBox.Text = Sanitize(dataObject.Value);
and
dataObject.Value = Sanitize(TextBox.Text);
내가 응용 프로그램은 CultureInfo (또는 다른 속성)를 해킹 할 수있는 방법을 찾고 있어요에 보인다 전시.
또한 메모로 : 많은 텍스트 입력은 dev에서 표현하므로 심지어는 사용중인 텍스트 상자가 래핑됩니다.
만 ASCII 또는 UTF-8/UTF-7을 처리 할 수있는 컨트롤을 양식 'ControlAdded 이벤트에 연결하고 설정하는 아마 방법이 있나요?
누군가가이 문제를 겪었습니다. 내가 놓을 수있는 끔찍한 해킹이 없다면이 앱을 모두 고치는 데 2 년이 걸릴 것입니다.