VB.NET で、TreeView コントロールを利用しています。

項目の追加や削除を行えるようにして、アプリケーションの終了時に何らかの方法で内容を保存したいと思っています。
TextBox 等ではコントロールのプロパティをアプリケーション設定にバインドして簡単に実現できたのですが、
TreeView コントロールの場合は、どのようなコーディングで同じことが実現できるのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2007/04/23 00:11:56
  • 終了:2007/04/30 00:15:03

回答(2件)

id:KirakiraHikaru No.1

KirakiraHikaru回答回数354ベストアンサー獲得回数682007/04/23 02:07:32

ポイント35pt

TreeViewのデータは、階層構造を保持できるXMLを使うと便利だと思います。

.NETのWindowsアプリケーションだと直接XMLファイルをバインドすることはできませんが、

単純に読み込むだけなら下記のようにすればできます。


Visual Basic .NET での XML データでの TreeView コントロールにデータを読み込む方法。

http://support.microsoft.com/default.aspx?scid=kb;ja-jp;308063


ここには保存の仕組みが記述されていないので、保存する場合には、

項目の追加・削除時にXMLにも反映するか、最後に上書き保存ですべての項目内容をXMLに書き出す必要があります。


読込・保存のサンプルがC#でしか見つからなかったのですが参考になると思います。

http://www.codeproject.com/csharp/TreeView_Serializer.asp

下記のサイトでC#のコードをVBに変換できます。

http://authors.aspalliance.com/aldotnet/examples/translate.aspx


あと、実際にコントロールで試したことがないのと、仕様変更などで内容を変更すると旧バージョンのデータファイルが使えなかったりするなどの問題が自分では解決できなかったのでほとんど使ったことが無いのですが、オブジェクトのシリアル化を行えば簡単にデータバインドできるかもしれません。

http://smdn.invisiblefulmoon.net/ikimasshoy/vbdotnet/serializati...

id:isq

ご回答ありがとうございます。

大変参考になりました!

さっそく試してみたいと思います。

2007/04/23 08:56:25
id:yuki_furuya No.2

yuki_furuya回答回数83ベストアンサー獲得回数42007/04/23 08:19:37

ポイント35pt

ちょっと強引ですが、FormクラスのOnClosingで行ってみたらどうでしょう?

http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.fo...(vs.80).aspx

id:isq

ご回答ありがとうございます。 ですがちょっとよく分かりません。

OnClosing で Closing イベントを発生させるのは理解できますが、データの保存との関連は…?

よろしければもう少しご説明いただけると助かります。

2007/04/23 09:02:15

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません