RichTextBoxと複数言語対応

 VisualStudio 2008でのこと。それ以外は未確認。

 C#で作成中。

 RichTextBoxを使用しているフォームで、フォームのデザインを開ける度に何か更新される現象があった。で、そのフォームを再コンパイルするとエラー。
 何故か、値を設定していない&設定したくない RichTextBoxの Textプロパティに同じソリューションの違うプロジェクトの Properties.Resourcesが設定される。で、ネームスペースが違うのでエラーになると。
 何故かデザインでは編集できないので、コードで直接 Textプロパティを削除したり、””を設定したりしてみるのだが、デザインを閉じてもう一度開くとまた勝手に変更される。

 問題ない別ソリューションのプロジェクトもあるので、違いといえば、駄目な方は複数言語に対応させているということ。複数言語に対応させるために、リソースを複数持っていること。つまり、Properties.Resourcesを使っているということである。
 問題ない方は、日本語のみなので、リソースを使っていない。
 違いといえば、それぐらいで、このリッチテキストボックスまわりのコードなどは未整理の完全な使い回しなので、デザイン・コード共にほぼコピー&ペーストとなっている。

 で、このリッチテキストボックスの Textプロパティに適当な文字列を最初から入れてあると、全く問題なく動作する。
 つまり、現在の対処としては、最初から適当な文字列を入れておき、このフォームのコンストラクタで、Text = ””;を行うことだ。
 おもいっきりの対処療法で、解決方法がわからない。
 とりあえずこれで問題は無くなったので、デザインモード時の自動処理とかがおかしいんちゃう?将来的に直るかな?それとも仕様?といろいろ思うが、良しとする。
 僕の使い方が悪いのか、不具合なのかはわからない。
 プロジェクトやファイルの使い回しをたくさんしているので、整合性に問題が出ている可能性も否定できないのがつらい。

 今回も、新しくテストでソリューションやプロジェクトを作ったりしてやってみたわけではない。未検証である。


 そういや、今までも他でデザインを開ける度に何か更新される現象があったような気がするが、忘れた。このソリューションだったかなあ?おかしいと思った時は大忙しなので検証できないのよ。と言い訳する。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック