3

Windowsフォームを使用して.netアプリケーションを構築しています。次の問題について考えています。アプリケーションで、Vista と Office 07 でのみ使用可能なフォントを指定した場合、これらのフォントを使用しないマシンでアプリケーションを実行しようとするとどうなりますか?

システムは、文字列を使用して内部で初期化されるため (「Segoe UI」など)、システムがそのファミリのフォントにフォールバックできないと思います。

フォーム デザイナーを介してフォントを指定でき、この破損のようなことを心配しないようにするためのベスト プラクティスは何ですか?

4

6 に答える 6

2

System.Drawing.SystemFonts.MessageBoxFontOSによっては、Segoe UI、Tahoma、MS Sans Serifの順に表示されるのだと思います。レイアウトが十分に流動的である限り (WPF はこれが得意ですが、Windows フォームでははるかに困難です)、うまく機能します。とにかく、その設定を使用してから、VM でテストして機能するかどうかを確認する価値があります。

また、残念なことに、デザイナーはそのようなフォントの設定をサポートしていないため、ハードコードされた Segoe UI にリセットされることがあります (Vista を使用している場合)。

この種のことは、実際に私がWPFに移行し始めた理由の1つでした:)。

于 2008-10-31T19:09:51.653 に答える
2

OS を確認し、XP では Tahoma を、Vista では Segoe UI を使用するか、ユーザーにオプション ダイアログで選択させます。XP に Segoe UI をインストールすることは、ほとんどの場合、まだ完了していないと考えられているようです。

于 2008-10-31T18:36:38.083 に答える
1

ジャスパーのアドバイスに従うか、私のアドバイスに従ってください。なんらかの理由でアプリ全体のスキンを変更する場合を除き、システムで既に定義されているフォントを使用してください。フォントを除いて、他のすべての戦艦グレー (または穏やかなテーマ) アプリのように見える場合、ユーザーには少し奇妙に見えます。

いずれにせよ、フォントを含めることは EULA 違反です。ユーザーは Office 2007 Compatibility Pack をダウンロードしてほとんどを入手できますが、1 つの注目すべき例外は (私が信じている) Segoe UI です。このフォントは Vista 専用のフォントです。

違いを出したい場合は、Jasper のアドバイスに従って、XP と Vista を区別してください。XP を使用している場合は、Tahoma または Trebuchet MS を使用してください。Vista を使用している場合は、クールな新しいフォントを使用してください。

于 2008-10-31T19:15:59.563 に答える
1

Brian Cline の意見に同意します。

クリーンな OS で何が起こるかを確認する最適な方法は、システムで仮想マシンを起動し、プログラムをインストールすることです。Microsoft には、「Microsoft Virtual PC」と呼ばれる無料の仮想マシン プログラムがあります。これを使用して、仮想マシン内に任意のオペレーティング システムをロードし、アプリケーションが「クリーン」インストール環境でどのように反応するかをテストできます。通常のコンピューターと同じように動作し、特にインストールしたプログラムのみを保持します。これを私のwinformsアプリケーションに使用していますが、うまく機能します!

これが役立つかどうか教えてください!JFV

于 2008-10-31T18:38:19.563 に答える
0

インストーラーでフォントを再配布できない場合は、最初にそのフォントの存在を確認する必要がある場合があります。存在しない場合は、フォールバックの選択肢の静的リストからアプリに代替フォントを選択させます。

于 2008-10-31T19:07:45.900 に答える
0

最初に Office と Vista の両方で EULA をチェックして、フォントが神聖なものでないことを確認してください。

于 2008-10-31T18:31:19.467 に答える