Solved

listbox load txt file

Posted on 2009-05-11
6
716 Views
Last Modified: 2012-06-27
im in vb.net 2008 and I have an empty listbox, i would like to load a text file into this listbox via a dialog box.the list file is formatted with line breaks as shown below
name1
name2
name3
name4
0
Comment
Question by:j0eh4x
6 Comments
 
LVL 6

Expert Comment

by:jaydee-cdgp
ID: 24360839
0
 
LVL 3

Expert Comment

by:janjerell
ID: 24360848
Hi,

This is how I do it. My listbox is named lst1, and my button is named btnLoad.

And below is my code behind:


Imports System.IO
 
Public Class Form1
 
    Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click
        Dim myStream As Stream = Nothing
 
        Dim openFileDialog1 As New OpenFileDialog()
 
        openFileDialog1.InitialDirectory = "c:\"
        openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        openFileDialog1.FilterIndex = 2
        openFileDialog1.RestoreDirectory = True
 
        If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            Try
                myStream = openFileDialog1.OpenFile()
                If (myStream IsNot Nothing) Then
                    ' Insert code to read the stream here.                    
                    LoadToListBox(myStream)
                End If
            Catch Ex As Exception
                MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
            Finally
                ' Check this again, since we need to make sure we didn't throw an exception on open.
                If (myStream IsNot Nothing) Then
                    myStream.Close()
                End If
            End Try
        End If
 
    End Sub
 
    Private Sub LoadToListBox(ByVal myStream As Stream)
        Dim myStreamReader As StreamReader = New StreamReader(myStream)
 
        Me.lst1.Items.Clear()
 
        While myStreamReader.Peek() >= 0
            Dim str As String = myStreamReader.ReadLine
            Me.lst1.Items.Add(str)
        End While
 
    End Sub
 
End Class

Open in new window

0
 

Author Comment

by:j0eh4x
ID: 24360861
i wish do this with a dialog box that allows me to choose the file. that doesnt show how
0
The New “Normal” in Modern Enterprise Operations

DevOps for the modern enterprise offers many benefits — increased agility, productivity, and more, but digital transformation isn’t easy, especially if you’re not addressing the right issues. Register for the webinar to dive into the “new normal” for enterprise modern ops.

 
LVL 15

Accepted Solution

by:
JackOfPH earned 500 total points
ID: 24360868
try this code...
Try
With OpenFileDialog1
'With statement is used to execute statements using a particular object, here,_
'OpenFileDialog1
.Filter = "Text files (*.txt)|*.txt|" & "All files|*.*"
'setting filters so that Text files and All Files choice appears in the Files of Type box
'in the dialog
If .ShowDialog() = DialogResult.OK Then
'showDialog method makes the dialog box visible at run time
FileName = .FileName
sr = New StreamReader(.OpenFile)
'using streamreader to read the opened text file
Dim textFile as string = sr.ReadToEnd()
        Dim str1() As String = textFile.Split(vbCrLf)
 
        For Each str2 As String In str1
            listbox1.items.add(str2)
        Next
 
'displaying text from streamreader in richtextbox
End If
End With
Catch es As Exception
MessageBox.Show(es.Message)
Finally
If Not (sr Is Nothing) Then
sr.Close()
End If
End Try

Open in new window

0
 
LVL 3

Expert Comment

by:janjerell
ID: 24361224
In my code, you need to click the button named btnLoad to show the File Dialog where you can pick the file you wanted.
0
 
LVL 4

Expert Comment

by:barrislb
ID: 24364462
Hi j0eh4x,

I'm a little curious regarding your question?? I have read your question over a few times already to see if there were something I was mis-reading. I say that because the experts; janjerell and JackOfPH have seemed to answer your initial question. Is there something that maybe you have not mentioned? I wanted to take shot at it myself, but the other experts have answered what you asked. Just curious? :-)
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Flash (http://en.wikipedia.org/wiki/Adobe_Flash) has evolved over the years to where it has become a masterful tool for displaying content screen.  It has excellent layout placement, UI precision as well as rendering capabilities. This, along with t…
Welcome my friends to the second instalment and follow-up to our Minify and Concatenate Your Scripts and Stylesheets (http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/A_4334-Minify-and-Concatenate-Your-Scripts-and-Stylesheets.html)…
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question