none
unter Einstellungen gespeicherte ComboBox finden RRS feed

  • Frage

  • Hallo,
    die vom User gewählte Einstellung einer ComboBox habe ich mit einer StringCollection als Einstellung gespeichert (Name der ComboBox und den gewählten Wert).

    StringCollection stringCollection = new StringCollection();
    stringCollection.Add(string.Format("{0},{1}", comboBoxGenauigkeit.Name, comboBoxGenauigkeit.Value));
    Properties.Settings.Default.ComboBoxGenauigkeit = stringCollection;

    Funktioniert alles bestens; auch das Auslesen der Einstellung.

    string comboBoxGenauigkeitName = a[0].ToString();
    string comboBoxGenauigkeitValue = a[1].ToString();

    Meine Frage betrifft das Suchen/Finden der ComboBox.
    Wie kann ich schnell die ComboBox mit dem Namen == comboBoxGenauigkeitName finden, um den Wert zusetzen?
    Oder gibt es eine bessere Variante, um Control und selektierten Wert unter Einstellungen zu speichern?


    Alexander

    Dienstag, 24. Mai 2011 16:06

Antworten

  • Hallo Alexander,

    du kannst auf die ControlCollection deines Forms zugreifen und in dieser nach Controls mit bestimmten Namen suchen:

    var comboBox = (ComboBox)Controls.Find("NAME_DEINER_COMBOBOX", false).FirstOrDefault();
    

    Anschließend kannst du auf die Items der ComboBox zugreifen und nach Belieben verändern.

     

    Gruß
    Philip 

    • Als Antwort markiert AlexanderRi Mittwoch, 25. Mai 2011 11:12
    Dienstag, 24. Mai 2011 18:13

Alle Antworten

  • Hallo Alexander,

    du kannst auf die ControlCollection deines Forms zugreifen und in dieser nach Controls mit bestimmten Namen suchen:

    var comboBox = (ComboBox)Controls.Find("NAME_DEINER_COMBOBOX", false).FirstOrDefault();
    

    Anschließend kannst du auf die Items der ComboBox zugreifen und nach Belieben verändern.

     

    Gruß
    Philip 

    • Als Antwort markiert AlexanderRi Mittwoch, 25. Mai 2011 11:12
    Dienstag, 24. Mai 2011 18:13
  • Hallo Philip,

    vielen Dank für die Hilfe. Genau dies hatte ich gesucht.

    Da ich das .Net-Framework 3.5 einsetze, habe ich den Code etwas geändert (Methode FirstOrDefault fehlt):

    var comboBox = Controls.Find("NAME_DEINER_COMBOBOX", true)[0] as ComboBox;

     

    Alexander

    Mittwoch, 25. Mai 2011 11:19