如何使用文本文件中的项加载ComboBox

时间:2012-09-06 12:13:36

标签: vb.net winforms combobox text-files

将项目从文本文件导入ComboBox控件的最简单方法是什么?文本文件包含多行。我需要将文本文件中的每一行添加为组合框中的项目。

4 个答案:

答案 0 :(得分:6)

如果文本文件的格式是每行一个组合框项目,并且您想将它们加载到WinForm ComboBox控件中,那么这将是最简单的方法:

ComboBox1.Items.AddRange(File.ReadAllLines(filePath))

您需要将Imports System.IO添加到代码文件的顶部。或者指定File类的全名:

ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(filePath))

答案 1 :(得分:1)

有几种方法可以做到这一点。这两种方法可以通过错误处理来实现:

1

Try
  ComboBox1.Items.Clear()
  Dim objReader As New System.IO.StreamReader(File Path)

  Do While Not objReader.EndOfStream
    ComboBox1.Items.Add(objReader.ReadLine)
     Loop
  objReader.Close() 
Catch ex As Exception
    MsgBox(Messege)
End Try

2

Try
  ComboBox1.Items.Clear()
  ComboBox1.Items.AddRange(File.ReadAllLines(filePath))
Catch ex As Exception
    MsgBox(Messege)
End Try

其中任何一个都适合你。使用错误处理始终是一种好习惯,这样您的程序就不会崩溃,并且可以在其无法读取文件时执行其他操作。我在开始时添加了一个ComboBox1.Items.Clear(),因为最终会发生的是如果你的代码在一个子程序中,它正在刷新并不断地实时读取文本文件,它将继续添加到列表中已经在组合框中的东西将具有重复的值。例如,假设你在文本文件中有单词EARTH MARS在组合框中,你将得到EARTH MARS这个词。但是,如果你不断刷新它只能说4次,那么组合框现在将显示地球MARS EARTH MARS EARTH MARS EARTH MARS。现在,如果您使用我的代码,它将读取EARTH MARS并放入组合框EARTH MARS,如果它刷新4次或多次,它仍将显示EARTH MARS,因为它正在清除组合框中的项目,然后再返回到文本文件并读取它上面的内容。现在,如果您将单词JUPITER添加到文本文件中,您的组合框现在会将单词JUPITER附加到组合框项目列表中,并且不会重复值。

答案 2 :(得分:1)

Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ComboBox1.Items.AddRange(System.IO.File.ReadAllLines("C:\zone\target.txt")) End Sub

例如:

check_by_ssh

注意,在form_load触发器下

答案 3 :(得分:-1)

谢谢德里克。它对我有用。

ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(local path))