1

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

4

4 回答 4

8

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

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

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

ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(filePath))
于 2012-09-06T12:21:17.920 回答
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 次,组合框现在将显示 EARTH MARS EARTH MARS EARTH MARS EARTH MARS。现在如果你使用我的代码,它将读取 EARTH MARS 并放入组合框 EARTH MARS 并且如果它刷新 4 次或多少次,它仍将显示 EARTH MARS,因为它在返回文本文件并读取其中的内容之前清除组合框中的项目. 现在,如果您将单词 JUPITER 添加到文本文件中,您的组合框现在会将单词 JUPITER 附加到组合框项目列表中,瞧,也不重复值。

于 2013-08-12T19:22:42.270 回答
1

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

前任:

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

注意,在 form_load 触发器下

于 2016-09-10T14:09:07.970 回答
-1

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

ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(local path))
于 2017-09-06T15:23:54.120 回答