タイトル : Re^2: リストボックスの中身を次回起動時に受け継ぐ方法を教えて下さい 投稿日 : 2009/01/17(Sat) 15:16 投稿者 : 大樹
YuOさん回答ありがとうございます 一応やりたいことが出来るようなプログラムを完成させることが出来ました 意味あるものになるようにコードを載せておきます 更なる改善点などありましたらご指摘いただけると幸いです '文章を登録する&テキストファイルに書き込み Private Sub _登録_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _登録.Click Dim i As Integer = ListBox1.Items.Count + 1 Dim ken As Integer = ListBox1.FindStringExact(_入力box.Text) If _入力box.Text = "" Then MessageBox.Show("文章を入力して下さい", "通知") ElseIf ken = ListBox.NoMatches Then ListBox1.Items.Add(_入力box.Text) Dim sw As New System.IO.StreamWriter("templatecount.txt", False, System.Text.Encoding.GetEncoding(932)) sw.WriteLine(i) sw.Close() Dim sw2 As New System.IO.StreamWriter("template.txt", False, System.Text.Encoding.GetEncoding(932)) Dim k As Integer For k = 0 To i - 1 sw2.WriteLine(ListBox1.Items(k).ToString) Next k sw2.Close() Else MsgBox("すでに登録されています") End If ListBox1.Sorted = True _入力box.Text = "" End Sub '再度起動時にテキストファイルからの読み込み Private Sub template_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim cou As Integer Dim sr2 As New System.IO.StreamReader("templatecount.txt", System.Text.Encoding.GetEncoding(932)) cou = (sr2.ReadLine()) sr2.Close() Dim sr As New System.IO.StreamReader("template.txt", System.Text.Encoding.GetEncoding(932)) Dim j As Integer For j = 0 To cou - 1 ListBox1.Items.Add(sr.ReadLine()) Next j sr.Close() End Sub > ・FormClosedイベントあたりでListBox.Itemsの中身をファイルに保存 > ・Loadイベントあたりでファイルの中身を読み取ってListBox.Itemsに追加 登録Buttonをクリックしたときに同時にテキストファイルに書き込むようにしてみました > 閉じるには,Closeメソッドを使います。 そうでしたね^^; Closeメソッドに変更しておきました。 ちなみにCloseとHideではどんな違いが起こるんでしょうか? Closeして開いた場合とHideした場合で何か変わったりするのでしょうか? |