人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


●質問者: isq
●カテゴリ:コンピュータ
✍キーワード:VB.NET アプリケーション コントロール コーディング バイン
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● KirakiraHikaru
●35ポイント

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...

◎質問者からの返答

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

大変参考になりました!

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


2 ● yuki_furuya
●35ポイント

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

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

◎質問者からの返答

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ