DOBON.NET DOBON.NETプログラミング掲示板過去ログ

「最近使ったファイル」を実装したい。

環境/言語:[Win2000 VB.NET]
分類:[.NET]

よくアプリケーションのファイルメニュー下にある「最近使ったファイル」の一覧の
機能を実装したいと思っています。
アプリケーション構成ファイルにファイルの一覧を保存すればいいのではないかと思い
<configuration>
<appSettings>
<add key="RecentFiles.0" value="C:\Test00.txt" />
<add key="RecentFiles.1" value="C:\Test01.txt" />
</appSettings>
</configuration>
のようにしておいてDOMで読み込むようにしました。これはこれでなんとかいけそう
なのですが、「最近使ったファイル」の機能を用意しているアプリケーションも多く
何か定番とも言えるようなやり方があるのではないか?という気になってきました。

そうした定番や「私はこうしている」というのがあればお教え願えないでしょうか。
よろしくお願いいたします。
■No2973に返信(とりるさんの記事)
> よくアプリケーションのファイルメニュー下にある「最近使ったファイル」の一覧の
> 機能を実装したいと思っています。
> アプリケーション構成ファイルにファイルの一覧を保存すればいいのではないかと思い
> <configuration>
> <appSettings>
> <add key="RecentFiles.0" value="C:\Test00.txt" />
> <add key="RecentFiles.1" value="C:\Test01.txt" />
> </appSettings>
> </configuration>
> のようにしておいてDOMで読み込むようにしました。これはこれでなんとかいけそう
> なのですが、「最近使ったファイル」の機能を用意しているアプリケーションも多く
> 何か定番とも言えるようなやり方があるのではないか?という気になってきました。
>
> そうした定番や「私はこうしている」というのがあればお教え願えないでしょうか。
> よろしくお願いいたします。

レジストリに最近使ったファイルを保存しているソフトウェアも多いようです。
しかし、.NETではXMLの処理が非常に容易にできるようになったので、
XMLを用いるのがベストではないかと思います。
レジストリを嫌うユーザーもたくさんいるので。
あとは、ソフトウェアではXMLを読み込んで、ファイルの一覧を配列にして、
メニューで表示するようにすれば簡単に実装できるでしょう。
りょうさん、回答ありがごうございます。

> レジストリを嫌うユーザーもたくさんいるので。
> あとは、ソフトウェアではXMLを読み込んで、ファイルの一覧を配列にして、
> メニューで表示するようにすれば簡単に実装できるでしょう。

そうですね。レジストリはちょっと気持ち悪いのでXMLで突き進む事にします。
どうもありがとうございました。
解決済み!
■No2632に返信(管理人さんの記事)
> .NET Frameworkのバグのようです。解決法のようなものがニュースグループで紹介されています。
>
> ・Newsgroups:microsoft.public.dotnet.framework.windowsforms
> Subject:Not incredibly stupid solution : MDI applications and owner draw menu items
> From:Igor Apostoloski
> http://groups.google.co.jp/groups?hl=ja&lr=&ie=UTF-8&inlang=ja&selm=uK9c%24Cq2DHA.2556%40TK2MSFTNGP10.phx.gbl
情報ありがとうございました。返事がおくれ申し訳ありません。
その後、このニュースグループで紹介されている方法を研究してみたのですが
私の手には余るようで今だ解決はしておりません。
どなたかの研究発表があることを祈りつつ、今回は棚上げにしました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板