Listboxにデータを追加する際、改行された文字列でも1行の項目として登録可能だと思いますが、
そのデータを一旦.txtに書き出して読み込ませると、
改行分だけ項目数が分割されてしまいます。
これを、Listbox登録時のままの分割されていない状態で、
保存&読込をさせるにはどのようにしたら良いでしょうか。
以下、現状の.txt保存&読込コードです。
VB.NET
1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 2 'テキストファイルを読込みリストボックスに表示 3 'リストボックスに水平スクロールバーを表示 4 ListBox1.HorizontalScrollbar = True 5 ListBox1.Items.Clear() '一旦消去 6 Dim st As New System.IO.StreamReader("....\ClipList.csv", 7 System.Text.Encoding.Default) 8 'ファイルの最後までループ 9 Do Until st.Peek = -1 10 '1行づつ読込む 11 ListBox1.Items.Add(st.ReadLine) 12 Loop 13 st.Close() 'ファイルを閉じる 14 15 End Sub 16 17 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 18 Dim enc As Encoding = Encoding.GetEncoding("Shift_JIS") 19 Dim Fname As String = "....\ClipList.csv" 20 Using writer As StreamWriter = New StreamWriter(Fname, False, enc) 21 For i As Integer = 0 To ListBox1.Items.Count - 1 22 writer.WriteLine(ListBox1.Items(i)) 23 Next 24 End Using 25 26 End Sub
開発環境
Windows10 x64
Visual Studio 2017
入力(ClipList.csvの中身)が最初はどうなってて、出力(Button2をクリックした後のClipList.csvの中身)がどうなってしまうのか、を追記してください。
(たぶん入力も出力も同じものを期待してるって意味ですよね?)

何を作っているかぐらいは書きませんか? ListBox というのは Windows Forms, WPF, ASP.NET Web Forms のいずれにもあります。
コードを読めばわかるというのはナシにしてくださいね。あなたが質問の一行目に書いてくれれば回答者・閲覧者はすぐわかる(=時間の無駄が省ける)わけですから。
ろくに回答もせずルールを押し付けたり1から10まで説明を求めるような何ちゃってエンジニアばかりだから困る


回答2件
あなたの回答
tips
プレビュー