エンコード方式および Windows フォームのグローバリゼーション
更新 : 2007 年 11 月
Windows フォーム アプリケーションは Unicode に完全に対応しています。各文字は、プラットフォーム、プログラム、または言語に関係なく、一意の数字によって表されます。Unicode の詳細については、Unicode コンソーシアムの Web サイト (http://www.unicode.org/) を参照してください。
Unicode の利点
Unicode 対応フォームの利点には、ヒンディー語などの Unicode 限定の言語を使用できるようになったことが挙げられます。さらに、単一のフォーム上で複数の言語を使用できるようになりました。Unicode では、すべての文字が 2 バイト長で表されるため、2 バイト文字を表すための特別な操作は不要になりました。また、すべてのプラットフォーム上で動作するコードの単一のセットを記述できます。この点は、Windows NT や Windows 98 などの異なるプラットフォームに対して異なるコードを書く必要があった以前のバージョンの Visual Basic から変更されています。
ただし、一部のコントロールは Windows 98 と Windows Millennium Edition で Unicode をサポートしません。これらのコントロールはすべて、コモン コントロールから継承されており、ANSI などの Windows コード ページでデータが処理されます。これらのコントロールとは、TabControl、ListView、TreeView、DateTimePicker、MonthCalendar、TrackBar、ProgressBar、ImageList、ToolBar、および StatusBar です。このため、前述のプラットフォーム上ではこれらのコントロールに Unicode データを表示することはできません。たとえば、英語版の Windows 98 オペレーティング システムで日本語の文字は表示できません。
Unicode 対応の代替手段としては、ToolBar コントロールと StatusBar コントロールの代わりに ToolStrip コントロールと StatusStrip コントロールを使用します。この場合は古いコントロールが置き換えられます。アプリケーション内のビジュアル要素間で同じような外観を保つには、MainMenu の代わりに、MenuStrip コントロールを使用してメニューを描画します。ToolStrip や StatusStrip と同様、MenuStrip でも Unicode 文字を処理して表示できます。