私が働いている会社には、ASCII以外の文字に遭遇したときに、ハードエラーを投げる大変古いデータベースシステムと多くのレガシーアプリケーションがあります。どのようにして入力を、.Net winformsアプリケーション全体で制限された文字セットに制限しますか。 (vb.net/c#)
彼らは、これらのアプリがvb.net WinFormsアプリでバックエンドをラッピングし始めたことを知り、1.5年後にこれらの古いシステムをラップして、このバグを発見しました。
彼らは問題を解決するために私を雇っています。 :(
多くの場合、UIはDevExpressのような第三者からのデータバインディングとFormView-esqueソリューションを使用して構築されています。その結果、UIを分解して同様の中間ユーティリティ関数で再構成する次へ:すべてのテキストボックスがネイティブにのみ行動の多くのWebブラウザに似たASCIIを扱うように
TextBox.Text = Sanitize(dataObject.Value);
and
dataObject.Value = Sanitize(TextBox.Text);
私はアプリケーションのCultureInfo(またはいくつかの他のプロパティ)をハックすることができ方法を探していますように見えます
メモ:テキスト入力の多くは開発者からのものであり、したがって、使用されているテキストボックスは折り返されます。
FormsのControlAddedイベントにアタッチし、ASCII、またはutf-8/utf-7のみを扱えるようにコントロールを設定する方法はありますか?
誰かがこれに遭遇したことがあります。私が置くことができるいくつかの恐ろしいハッキングがない場合、これらのアプリをすべて修正するのに2年かかります。