10

一部のラベル(winforms)でCalibriフォントを使用していますが、プログラムを実行すると、このラベルは別のフォントで表示されます。この問題は、Officeがインストールされていない(したがってCalibriがインストールされていない)コンピューターでテストしたときに見られましたが、Calibriが適切にインストールされているコンピューターでも、どこにでも見られます(そして、デザイナーにCalibriのラベルが表示されています。デバッグモード、別のフォントが表示されます)。

ラベルは以前はうまく表示されていましたが、この問題は今日しか見られませんでした(ただし、数日間気付かなかった可能性があります。確かですが、長くはありません)。

昨日はいくつかのWindowsUpdateがあり、そのうちのいくつかはOffice用でしたが、それが適切かどうかはわかりません。結論として、私はcalibriを持っており、calibriはデザイナーで表示され、実行時に他のフォントが表示されます。SegoeUIでも同じ問題があるようですが、SemiBoldスタイルを使用している場合のみです。

これが結果の画像です。左側がランタイム、右側がVSデザイナーです。

左がランタイム、右がデザイナー

Calibri boldを使おうとすると、さらにわかりやすくなります。今回のランタイムは右側にあり、デザイナービューは左側にあります。

左はデザイナー、右はランタイム

4

1 に答える 1

6

Visual Studio で新しい Windows フォーム アプリケーションを作成するたびに、テンプレートには次の行が含まれます。

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(/*new instance of your form*/);

特にこの行は、アプリケーションでのテキストのレンダリング方法に影響を与える可能性があります。

Application.SetCompatibleTextRenderingDefault(false);
于 2012-12-06T10:31:54.790 に答える