VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 ListBox コントロール関係のメニュー
1.ListBox コントロールに関するワンポイントテクニック集
2.ListBox 内の項目の高さ(行の高さ)を設定する
3.リストボックス内のすべての項目を完全一致・前方一致検索
4.ListBox に複数の項目を指定位置に揃えて表示/表示データを個別に取得
5.リストボックスの指定位置に複数のタブストップ位置を設定
6.ListBox 内の項目の色を個別に設定する(オーナードローによる)
7.ListBox の背景色を1行飛びに設定する(オーナードローによる)
8.テキストファイルを読み込んでリストボックスに表示及びファイルに保存
9.2つのリストボックスのスクロールの同期を取る
10. 
11.
12.
 . 
20.その他、当サイト内に掲載の ListBox コントロールに関するサンプル


8.テキストファイルを読み込んでリストボックスに表示及びファイルに保存(19_Lst_02) (旧、SampleNo.107)
1.テスト用のデータを作成・表示
2.表示したデータをテキストファイルに保存
3.上記保存データを読み込み表示
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
追加なし
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.テスト用のデータを作成・表示

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim sTime As DateTime
    Dim eTime As DateTime
    ListBox1.Items.Clear()
    sTime = Now
    ListBox1.BeginUpdate() 'コントロールを再描画しないようにする。
    For i As Integer = 0 To 9999
        ListBox1.Items.Add(CStr(i).PadLeft(4, CChar(" ")) & " 番目のデータ[abcあいうえお123]です")
    Next i
    ListBox1.EndUpdate()  'コントロールの描画を再開する。
    eTime = Now
    MessageBox.Show(eTime.Subtract(sTime).TotalSeconds & " 秒かかりました。")
    '結果 1.3 秒
End Sub

このページのトップへ移動します。 2.表示したデータをテキストファイルに保存

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'リストボックスに表示したデータをテキストファイルに保存
    Dim sTime As DateTime
    Dim eTime As DateTime

    sTime = Now
    'テキストファイルを上書きモードで開く(True で追加書き込み)
    Using st As New System.IO.StreamWriter(Application.StartupPath & "\ListBox1.txt", False, System.Text.Encoding.Default)
        For i As Integer = 0 To ListBox1.Items.Count - 1
            'ファイルへ書き込み
            st.WriteLine(ListBox1.Items(i).ToString())
        Next
    'ファイルを閉じる
    End Using
    eTime = Now
    MessageBox.Show(eTime.Subtract(sTime).TotalSeconds & " 秒かかりました。")
    ListBox1.Items.Clear()
End Sub

このページのトップへ移動します。 3.上記保存データを読み込み表示
※ 下記のように、水平スクロールバーを表示した状態でファイルを読み込むと極端に処理速度が落ちる
  非表示の状態での読み込みと比べてみて下さい。(プロパティで設定していても同様です。)

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
'テキストファイルを読込みリストボックスに表示
    'リストボックスに水平スクロールバーを表示
    ListBox1.HorizontalScrollbar = True
    ListBox1.Items.Clear() '一旦消去
    Dim sTime As DateTime
    Dim eTime As DateTime

    sTime = Now
    ListBox1.BeginUpdate() 'コントロールを再描画しないようにする。
    Using st As New System.IO.StreamReader(Application.StartupPath & "\ListBox1.txt", System.Text.Encoding.Default)
        'ファイルの最後までループ
        Do Until st.Peek = -1
            '1行づつ読込む
            ListBox1.Items.Add(st.ReadLine)
        Loop
    End Using   'ファイルを閉じる
    ListBox1.EndUpdate()  'コントロールの描画を再開する。
    eTime = Now
    MessageBox.Show(eTime.Subtract(sTime).TotalSeconds & " 秒かかりました。")
End Sub

このページのトップへ移動します。 4.


このページのトップへ移動します。 5. 



このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。