将项目从文本文件导入ComboBox
控件的最简单方法是什么?文本文件包含多行。我需要将文本文件中的每一行添加为组合框中的项目。
答案 0 :(得分:6)
如果文本文件的格式是每行一个组合框项目,并且您想将它们加载到WinForm ComboBox
控件中,那么这将是最简单的方法:
ComboBox1.Items.AddRange(File.ReadAllLines(filePath))
您需要将Imports System.IO
添加到代码文件的顶部。或者指定File
类的全名:
ComboBox1.Items.AddRange(System.IO.File.ReadAllLines(filePath))
答案 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
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))