2011-06-15 145 views
1

我试图将组合框中的信息转换为文本文件,以便保存它。如果在下拉列表中的信息是约翰,玛丽,杰克,我想它出现在文本文件中是这样的:从组合框将文字信息写入文本文件

John 
Mary 
Jack 

我目前使用给JohnMaryJack的结果在文本文件中的代码

For Each item As Object In cmbworld.Items 
     Dim test As String 
     test = item 
     sb.AppendFormat("{0}", item) 
     Dim FILE_NAME As String = "D:\Documents\test.txt" 
     If System.IO.File.Exists(FILE_NAME) = True Then 
      Dim objWriter As New System.IO.StreamWriter(FILE_NAME) 
      objWriter.Write(test) 
      objWriter.WriteLine() 
      objWriter.Close() 
      MsgBox("Text written to file") 
     Else 
      MsgBox("File Does Not Exist") 
     End If 

    Next 

我该如何解决这个问题?

+0

是否'sb.AppendFormat(“{0}”,项目)'工作吗? – aligray 2011-06-15 03:09:19

+0

抱歉大家,格式是错误的,我需要一个下另一个(现在修复) – Kuzon 2011-06-15 04:03:53

+0

可能重复[从文件加载到列表框?](http://stackoverflow.com/questions/6273426/load-from-file-进入列表框) – Stefan 2011-06-15 10:33:54

回答

1

首先,我将文件写入For Each-loop。这样你只能写一次文件。 其次,你可以@BiggsTRC的回答稍微适应

sb.AppendFormat("{0} {1}", item, Environment.NewLine) 

此外,您使用变量test写入文本文件,而不是你使用StringBuilder的。这种方式不会进入文件。

所以比你的一段代码看起来是这样的:

Dim sb as new StringBuilder() 

For Each item As Object In cmbworld.Items 
     'Dim test As String 
     'test = item 
     sb.AppendFormat("{0} {1}", item, Environment.NewLine) 
Next 

Dim FILE_NAME As String = "D:\Documents\test.txt" 
If System.IO.File.Exists(FILE_NAME) = True Then 
    Dim objWriter As New System.IO.StreamWriter(FILE_NAME) 
    objWriter.Write(sb.ToString()) 'Use the stringbuilder here 
    objWriter.WriteLine() 
    objWriter.Close() 
    MsgBox("Text written to file") 
Else 
    MsgBox("File Does Not Exist") 
End If 

可能有它的一些语法小错误,因为那是我写VB很长一段时间,我有没有VS目前,但我认为你得到的图片;-)

+0

工作过,非常感谢您! – Kuzon 2011-06-15 13:17:16

0

我想你只需要改变这一行:

sb.AppendFormat("{0}", item) 

是这样的:

sb.AppendFormat("{0}\r\n", item) 

(注意{0}后面的空格)

这会给你在每个人的名字后面都有一个空格,这样你最终会在每行最后一行后面有一个名字,并且有一个返回。

+0

对不起,格式是错误的,我需要一个在另一个下(现在修复) – Kuzon 2011-06-15 04:04:15

+0

@Kuzon - 我已更新我的文章以反映更改。 – IAmTimCorey 2011-06-15 04:09:53

+0

它在我的文档中将此返回给John,\ r \ n您好!\ r \ n您\ r \ n必须\ r \ nDie \ r \ n“ – Kuzon 2011-06-15 04:19:56

0
IO.File.WriteAllLines(filename, (From p As String In cmbworld.Items).ToArray) 
相关问题