2012-03-27 2 views
1

Setup: Ein Formular mit einem Textfeld, einer Schaltfläche und einem Listenfeld. Das Listenfeld enthält ~ 10 Werte, die hinzugefügt werden, wenn das Formular geladen wird.Code einer Schaltfläche, die den zugrunde liegenden Code Ihres Programms ändert

Ich frage mich, ob es möglich ist, den Code für die Schaltfläche zu schreiben, so dass, wenn sie durch den Benutzer gedrückt wird, würde es addieren, was Text in dem in das Listenfeld Textfeld und den Code der Änderung form load, um diesen Text den bereits vorhandenen listbox.items.add-Dateien hinzuzufügen, die sich im Code des Formulars befinden.

+4

Sie eine Datenquelle benötigen, entweder ein Datei oder eine Datenbank usw., um Ihre Informationen zu speichern, die im Listenfeld verwendet werden. – LarsTech

+0

So etwas wie eine Textdatei, die alle Elemente enthält, und fügen Sie dann das neueste Element an die Textdatei an? Damit das nächste Mal das Formular geladen wird, wird die neue Textdatei verwendet? – Quintis555

+0

Das würde sicherlich funktionieren. – LarsTech

Antwort

1

Von meinem Kommentar:

Sie benötigen eine Datenquelle, entweder eine Datei oder eine Datenbank, etc., um Ihre Daten zu speichern, die im Listenfeld verwendet wird.

und wie Sie kommentiert:

So etwas wie eine Textdatei, die alle Elemente, und dann hängen Sie die neuesten Artikel in der Textdatei hält? Damit das nächste Mal das Formular geladen wird, wird die neue Textdatei verwendet?

Ja, das ist eine praktikable Lösung.

Wenn Sie Dateien verwenden, stellen Sie sicher, dass Sie den Pfad Environment.GetFolderPath(...) als Pfad verwenden. Sie sollten fast nie den Pfad Ihrer ausführbaren Datei zum Speicherort verwenden.

2

Ein sehr einfaches Beispiel, was Sie in Code fragen ...

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 

Wo C: \ NoobishDataSource.txt ist ...

Item1 
Item2 
Item3 
+0

Haben Sie ein +1 für Noobish –

+0

Stimmen Sie auf die +1 :) Danke! – Quintis555