-1

数日前に直面した問題の一般的な解決策を見つけようとしています。基本的に、winforms UI に値を入力する以外に、ユーザーはいくつかのレポート (html および Excel) からデータを貼り付けようとし、情報を検索しようとします。

どうやら、WCF サービスが文字列のエンコード形式を理解せず、レコードを返さないため、これは機能しません。同じ文字列を入力して検索すると結果が得られるため、これはユーザーにとって驚くべきことです。ここで議論されている問題:文字列エンコーディングの問題 - 「西ヨーロッパ言語を Ascii に変換する必要がある」

しかし、これはアプリのどの UI 画面でも発生する可能性があるため、何がジェネリックであり、ソリューションを実装する 1 つの場所であるかを知る必要があります。エンコーディングを削除するフォームですべてのコントロールを作成することは可能ですか? または、サービスが文字列の特別なエンコーディングを無視できるようにする方法はありますか? または、UI のすべての入力テキスト ボックスからテキストを再フォーマットする以外に方法はありませんか?

ありがとう。

4

2 に答える 2

1

フォームは、コンテナーとサブコンテナーのツリーを持つコンテナー コントロールです。フォームの読み込み時にエンコーディングを変更したいラベル/テキストボックスが見つかるまで、コントロールのツリーをたどることができます。

これを WCF サービスの動作として実装することもできます (エンコードを自動的に処理するため)。

于 2012-10-11T14:01:18.607 に答える
0

カスタム TextBox を作成したほうがよいと思います。TextBox クラスから継承し、その Text プロパティ getter をオーバーライドして、そこで再フォーマット メソッドを呼び出します。

ソリューション内のすべてのテキスト ボックスを検索し、それらを新しいカスタム TextBox に置き換えることはそれほど難しくありません。

于 2012-10-13T09:52:45.180 に答える