System.Windows.Forms.Keys in My.Settings Speichern

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

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von MemoAnMichSelbst.

    System.Windows.Forms.Keys in My.Settings Speichern

    Hi,

    ​hat jemand von euch schon einmal versucht im Programm die Inhalte von "Keys" in einer Combobox zur Auswahl zu geben und diese dann in My.Settings zu speichern und wieder zu laden?
    ​In My.Settings anlegen geht ja...
    ​Die Enum Namen an die Combobox übergeben geht auch. Aber irgendwie krieg ich das ganze nicht zusammen.

    VB.NET-Quellcode

    1. ​ ComboBox2.DataSource = [Enum].GetNames(GetType(Keys))

    ​So gebe ich die Liste an die Combobox.

    VB.NET-Quellcode

    1. Dim empType1 As Keys = CType([Enum].Parse(GetType(Keys), ComboBox1.SelectedValue), Keys)

    So lese ich es wieder aus.

    ​Aber wie bringe ich dem bei, dass er sowas wie "ALT + F2" in den Settings speichert und wieder lädt? Mir ist das noch ein Rätsel.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Hallo

    Was spricht dagegen das man den String in den Settings speichert? Oder den SelectedIndex der Combobox?

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Dagegen spricht, dass die Windows.Form.Key Werte eine Kombination aus Taste und "Alt"/"Ctrl"/"Shift" sind.
    Und wenn möglich möchte ich den gleichen Dialog werfen, der auch von Visual Studio hochgebracht wird und den ich schon in den My.Settings als Vorgabewert mitgeben kann.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Hallo

    Bin ja nicht der Winforms Profi aber gerade mal probiert und Forms.Keys geht sogar direkt zu speichern...

    Folgendes Probiert:

    VB.NET-Quellcode

    1. Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
    2. My.Settings.Test = CType([Enum].Parse(GetType(Keys), ComboBox1.SelectedValue), Keys)
    3. My.Settings.Save()
    4. End Sub
    5. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    6. Me.ComboBox1.DataSource = [Enum].GetNames(GetType(Keys))
    7. Me.ComboBox1.SelectedItem = [Enum].GetNames(GetType(Keys)).Where(Function(k) k = [Enum].GetName(GetType(Keys), My.Settings.Test)).Single
    8. End Sub




    Klappt!!

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hi,

    ​ich hab es mir wohl gedanklich wirklich zu schwer gemacht. Danke! Funktioniert natürlich.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D