如果选中,则编辑listBox中属性的值?

时间:2012-10-22 10:16:44

标签: c# list listbox edit

我想允许用户编辑listBox字符串的一部分,方法是双击并输入listBox中的重命名模式或者通过消息框输入。该值是double,我希望结果反映在listBox和实际列表中。

这是我的清单,我需要编辑费用:

        public BindingList<Edge> edgeList = new BindingList<Edge>();

这是我的ToString功能:

        public override string ToString()
        {
            return string.Format("Cost: {0}, Start: {1}, End: {2}", (int)_cost, _start, _end);
        }

这是我的清单:

pfi.ni.edgeList.Add(e1);

这就是我在listBox中添加新属性的方法:

listBox2.Items.Add(e1);

我已经为listBox设置了selectedIndexChanged事件,并且可以获取它,因此它显示了一个属性的成本,如果点击,它现在只是编辑我猜。

    private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
        Edge selectedItem = listBox1.SelectedItem as Edge;

        result = MessageBox.Show(string.Format("Cost: {0}", e1._cost));
        //selectedItem._cost doesn't work for some reason, so I use e1._cost 
        //until I can figure it out
    }

1 个答案:

答案 0 :(得分:0)

Edge selectedItem = listBox1.SelectedItem as Edge;
selectedItem._cost = inputTextBox.Text;
listBox1.Refresh();