ComboBox - Items speichern

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von ~blaze~.

    ComboBox - Items speichern

    Guten Tag,

    Ich bin gerade dabei für einen Spamer eine Plus Version zu machen. Dennoch weiß ich nicht so genau, wie ich die Items in der ComboBox abspeichere, wenn ich es neu starte. Um genauer zu sein, ich programmiere auf Visual Basic 2010 Express.

    Hilfreiche Tutorials gibt es dazu nicht gerade, und eine anständige Erklärung wäre nett.

    Bitte um schnelle Antwort!

    LG,

    Leon
    Moin,

    Also genau; Ich baue an einem Spamer. Ich möchte, das er immer in der ComboBox die Sprache ändern kann wann man will, und Das er die Sprache immer wieder beim Neustart so lässt, sonst ist es immer auf der Sprache, die Standardmäßig ist. Ich möchte aber, das wenn er es von Standard her zum Beispiel auf Englisch hat, das ich es auf Deutsch mache und nach dem Neustart der Form, das es wieder Deutsch ist. Also sozusagen irgendwie zum Speichern, ich weiß nicht genau wie das geht.
    Okay, also du möchtest dem Benutzer eine Möglichkeit geben die "Sprache" zu verändern?
    Anschließend nach dem Neustarten des Programms sollte dein Programm erkennen welche Sprache zuletzt aktiv war, ja?

    Dann musst du die Information Auslagern, am besten im Benutzerprofil, bzw. kannst du das auch in dem Register machen..
    Diese Information musst du dir beim Starten natürlich ziehen und dem entsprechend agieren.

    Da ich nicht weiß wie dein Programm aufgebaut ist kann ich dir nicht genau sagen was am "Sinnvollsten" ist.

    Grüße
    Option Strict On!
    Okay. Hier siehst du etwas.

    Screnshot:

    pic-upload.de/view-22540276/speedspamerplus.png.html

    Die Funktionen kommen noch, das ist kein Thema für mich. Bloß die Sprache, ich dachte mir auch gerade, gute Idee mit dem Register, aber nein, Ich finde das ist dann doch zu viel Aufwand, weil ich das auch nicht wirklich kann. :D

    Code:

    Public Class Form1

    Private Sub ButtonX2_Click(sender As System.Object, e As System.EventArgs) Handles ButtonX2.Click
    Me.WindowState = FormWindowState.Minimized
    End Sub

    Private Sub ButtonX1_Click(sender As System.Object, e As System.EventArgs) Handles ButtonX1.Click
    Me.Close()
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

    If ComboBox1.SelectedItem = "English" Then

    Me.ButtonX1.Text = "Close"
    Me.ButtonX2.Text = "Minimize"
    Me.Label1.Text = "Language:"

    ElseIf ComboBox1.SelectedItem = "Deutsch" Then

    Me.ButtonX1.Text = "Beenden"
    Me.ButtonX2.Text = "Minimieren"
    Me.Label1.Text = "Sprache:"

    End If
    End Sub
    End Class

    LG
    Ich schau mir das mal noch an.
    Generell ein Tipp für die Zukunft:

    Nutze, wenn du VB.NET-Code einfügst bitte die VB Tags

    Quellcode

    1. (code) (/code) 'ersetze die Klammern mit eckigen klammern, schon sieht es etwas ...übersichtlicher aus


    Und: Ich würde dir empfehlen dich mit Registern auseinanderzusetzen. Oder halt anderen Möglichkeiten (Textdateien, XMLs, Configs..)

    Grüße

    EDIT:

    Also.. Ich werfe dir hier mal was rein was super funktioniert. Müsstest halt was anpassen.. wenn du es anders haben möchtest, is' ja nunmal nur ein Beispiel:
    Erstmal

    Quellcode

    1. OPTION STRICT ON
    2. OPTION EXPLICIT ON


    Wir wollen beim schliessen was Speichern:

    Quellcode

    1. Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
    2. If ComboBox1.Text = "Deutsch" Then
    3. Using SW As New System.IO.StreamWriter("C:\test.txt")
    4. SW.Write("Deutsch")
    5. End Using
    6. End If
    7. End Sub


    Und beim Form-Laden was laden:

    Quellcode

    1. ​ Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. Using SR As New System.IO.StreamReader("C:\test.txt")
    3. ComboBox1.Text = SR.ReadToEnd.ToString
    4. End Using
    5. End Sub


    ...schon klappt's. Ich lege dir trotzdem nahe so etwas vielleicht woanders hinzulegen, so haste noch mehr Daten.

    Option Strict On!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Drahuverar“ ()

    Hi Leooon,

    sieht mir verdammt nach Lokalisierung von Anwendungen aus was Du da vor hast.
    Gibts massig Info's bei Herrn Google und Co. Aber auch die MSDN hilft Dir da.

    Die gewählte Sprache des Users kannst du in Anwendungseinstellungen hinterlegen in dem Du der
    Combobox in der Eigenschaft "ApplicationSettings" eine neue Variable zuweist.

    Diese findest Du dann wieder indem Du auf Dein Projekt mit der rechten Maustaste klickst, dann Eigenschaften (ganz unten) wählst
    und den Reiter Einstellungen klickst. Da kannst Du übrigens auch solche Variablen manuell anlegen.

    Gruß.
    Nein, Ich möchte das ruhig so machen, Ich weiß das es geht und manche auch wissen wie es geht. Ich bin nicht so dumm im programmieren. Ich kann es ja eigentlich, aber manches muss man noch lernen. Hier halt ein kleines Video damit du verstehst wie ich es meine...



    Bitte mal genau anschauen...
    Ok klar, ich weiß das schon mit den Settings

    was muss ich jetzt genau in den Settings erstellen?

    wut?!

    Menü Projekt -> <projektname>-Eigenschaften->Links auf "Einstellungen" und rechts dann die Settings bearbeiten.
    Da is jetzt "Setting" blau markiert. Klickst dort nun rein und schreibst "sprache". Ganz rechts in Spalte Wert dann "Deutsch".
    Jetzt kommt in das SelectedIndexChanged-Event der ComboBox noch rein, dass My.Settings.sprache gleich ComboBox.SelectedItem ist und bei Form_Load dass die Sprache gleich My.Settings.sprache ist. Tadaaaa.

    Link :thumbup:
    Hello World
    Ja ich weiß das doch.. Ich kenne die Grundlagen. So habe jetzt alles gemacht dennoch funktioniert es nicht ganz. Es kommt kein Fehler oder so, aber es will nicht funktionieren.

    Quellcode

    1. ​Public Class Form1
    2. Private Sub ButtonX2_Click(sender As System.Object, e As System.EventArgs) Handles ButtonX2.Click
    3. Me.WindowState = FormWindowState.Minimized
    4. End Sub
    5. Private Sub ButtonX1_Click(sender As System.Object, e As System.EventArgs) Handles ButtonX1.Click
    6. Me.Close()
    7. End Sub
    8. Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    9. My.Settings.sprache = ComboBox1.SelectedItem()
    10. If ComboBox1.SelectedItem = "English" Then
    11. Me.ButtonX1.Text = "Close"
    12. Me.ButtonX2.Text = "Minimize"
    13. Me.Label1.Text = "Language:"
    14. ElseIf ComboBox1.SelectedItem = "Deutsch" Then
    15. Me.ButtonX1.Text = "Beenden"
    16. Me.ButtonX2.Text = "Minimieren"
    17. Me.Label1.Text = "Sprache:"
    18. End If
    19. End Sub
    20. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    21. My.Settings.sprache = ComboBox1.SelectedItem = "Deutsch"
    22. End Sub
    23. End Class