编写一个更改程序底层代码的按钮

时间:2012-03-27 21:16:05

标签: .net vb.net reflection

设置:带有文本框,按钮和列表框的表单。列表框有~10个值,表单加载时会添加到它。

我想知道是否可以编写按钮的代码,以便在用户按下时,它会将文本框中的任何文本添加到列表框更改表单加载的代码将该文本添加到表单加载代码中的预先存在的listbox.items.add中。

2 个答案:

答案 0 :(得分:2)

您在代码中要求的一个非常简单的示例...

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   ListBox1.DataSource = System.IO.File.ReadAllText("C:\NoobishDataSource.txt").Split(ControlChars.NewLine).ToList()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    System.IO.File.WriteAllText("C:\NoobishDataSource.txt", System.IO.File.ReadAllText("C:\Log\NoobishDataSource.txt") & _
                                ControlChars.NewLine & TextBox1.Text)
    ListBox1.DataSource = System.IO.File.ReadAllText("C:\NoobishDataSource.txt").Split(ControlChars.NewLine).ToList()
End Sub

C:\ NoobishDataSource.txt是......

Item1
Item2
Item3

答案 1 :(得分:1)

来自我的评论:

  

您需要一个数据源(文件或数据库等)来保存列表框中使用的信息。

正如你评论的那样:

  

类似于包含所有项目的文本文件,然后将最新项目附加到文本文件中?因此,下次加载表单时,会使用新的文本文件吗?

是的,这是一个可行的解决方案。

如果使用文件,请务必使用Environment.GetFolderPath(...)作为路径位置。您几乎不应该使用可执行文件的路径来存储位置。