Visual Studio 2012 で Windows 7 x64 を使用しています。印刷ダイアログを表示すると、アプリケーション内のすべてのフォームのすべてのコントロールで視覚スタイルが失われます。これは、ボタンが丸みを帯びたエッジを失い、Windows XP のように長方形になることを意味します。また、チェックボックスは、印刷ダイアログを表示した後にカーソルを合わせると、視覚的なスタイルが失われます。
次のコード行で問題が発生します。
pdlg.ShowDialog();
pdlg は PrintDialog です。これは 1 つのプロジェクトでのみ発生します。同じコード行を使用する他のプロジェクトは正しく機能します。問題が発生するために PrintDialog を PrintDocument に接続する必要さえありません (BeginPrint/PrintPage イベントを発生させる必要はありません)。エラーはスローされません。アプリケーションのディスクに設定を保存していません。
私が試してみました:
- ソリューションのクリーニング/再構築
- PrintDocument コントロールと PrintDialog コントロールの削除と再作成
- コンピュータの再起動
- 異なる .NET Framework バージョンへの変換
- 別のユーザーと同じマシンでアプリケーションを実行 -ビジュアル スタイルは正しく有効なまま
- アプリケーションを別のマシンで実行 -ビジュアル スタイルが正しく有効なまま
- ユーザーの一時ディレクトリを空にする
- アセンブリの名前変更
- アプリケーションを別のディレクトリに移動する
私の推測では、一部のファイルまたはレジストリ設定が何らかの形で .NET によって内部的に保存されており、1 つのアプリケーション/ユーザーにのみ適用されると思われます。または、一部のキャッシュまたは何かが破損しています。簡単なトラブルシューティングのアイデアが不足しています。誰もこれを見たことがありますか?次に何を試せばいいですか?