.NET TIPS

Windows VistaでXPスタイルのファイル・ダイアログを開くには?[3.0以降、C#、VB]

デジタルアドバンテージ 遠藤 孝信
2008/03/27

 Windows標準の[ファイルを開く]ダイアログや[名前を付けて保存]ダイアログを開く場合には、OpenFileDialogクラスあるいはSaveFileDialogクラス(どちらもSystem.Windows.Forms名前空間)を利用するが、これらのクラスにより表示されるダイアログのスタイルは、アプリケーションが実行されているWindowsのバージョン(Windows VistaかWindows XPか)によって異なる。

 以下の2つの画面は、ファイル・ダイアログを開く同一のアプリケーションをXP(画面1)およびVista(画面2)で実行したときのものだ。


画面1 アプリケーションをXPで実行した場合のファイル・ダイアログ


画面2 アプリケーションをVistaで実行した場合のファイル・ダイアログ

 このようなファイル・ダイアログのスタイルは、アプリケーションが作成された.NET Frameworkのバージョンには関係なく、Windowsのバージョンによって決まる。

 しかし.NET Framework 3.0以降では、アプリケーションがVistaで実行されている場合でも、次の画面3のようなXPスタイルのファイル・ダイアログが表示できるようになっている。


画面3 Vistaで表示しているXPスタイルのファイル・ダイアログ

 このようなXPスタイルのファイル・ダイアログを開くには、OpenFileDialogクラス/SaveFileDialogクラスのAutoUpgradeEnabledプロパティをfalseに設定すればよい(既定値はtrueであり、ダイアログは実行されるWindows環境に合わせて“自動的にアップグレード”されるようになっている)。

 ツールボックスからOpenFileDialogコンポーネントやSaveFileDialogコンポーネントをフォームにドラッグ&ドロップして実装している場合には、プロパティ・ウィンドウからもAutoUpgradeEnabledプロパティを設定できる。

 なお当然のことであるが、.NET Framework 3.0以降で作成したアプリケーションであっても、それをXP上で実行している場合には、画面1のようなXPスタイルのファイル・ダイアログしか表示することはできない。End of Article

利用可能バージョン:.NET Framework 3.0以降
カテゴリ:Windowsフォーム 処理対象:ダイアログ・ボックス
使用ライブラリ:OpenFileDialogクラス(System.Windows.Forms名前空間)
使用ライブラリ:SaveFileDialogクラス(System.Windows.Forms名前空間)

この記事と関連性の高い別の.NET TIPS
WindowsアプリケーションをWindows XPスタイルの外観にするには?
DataGridViewコントロールで列ヘッダや行ヘッダの色を変えるには?
Windows OSの種類やバージョンを判別するには?
Windowsアプリケーションの位置やサイズを保存するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間