无法保存选定的Combobox项,因为SelectedText为空String。为什么?

时间:2017-05-05 14:28:10

标签: c# combobox

我尝试保存选定的组合框项并加载它以在下一个程序启动时选择。我已经尝试使用SelectedIndex来保存它,但这是一个坏主意,因为索引可以在新会话中更改。所以我想使用SelectedText来保存所选的项目(COM端口)。 但是当我保存它并查看文件时,它只是空的。它不保存Combobox中显示的文本。为什么会这样? 这是我的代码。

        //Load Com Port List into comboBoxes
        string[] portNames = SerialPort.GetPortNames();
        foreach (var portName in portNames)
        {                
            comboBox2.Items.Add(portName);
        }

然后我从ComboBox中选择一个COM端口,并想保存它。

File.WriteAllText("portsave1", textBox18.Text + "+" + comboBox2.SelectedText);

但是,当我查看保存文件时,comboBox2.SelectedText只是一个空字符串。为什么呢?!

因此,当我想使用以下代码加载它时,它不起作用。

comboBox2.SelectedIndex = comboBox2.FindStringExact(comport);

3 个答案:

答案 0 :(得分:2)

我认为您需要使用comboBox2.SelectedItem.ToString(),因为您在我假设初始化期间添加了Items

答案 1 :(得分:2)

尝试

comboBox2.SelectedItem.ToString()

答案 2 :(得分:-2)

好的,谢谢你,我解决了这个问题。您的所有代码都是正确的,有许多方法,例如comboBox.TextcomboBox.Item来保存它....我的问题是,我保存了两次,一次是在连接到刻度后,一次是表单正在关闭...当Form关闭时,它将选定的索引写入文件,这就是为什么它无法工作。我没有注意到这一点,并想知道为什么它不起作用。对不起,谢谢!