如果选择的话,请在列表框中编辑属性的值



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

这是我的列表,我需要编辑成本:

        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);

这就是我在列表框中添加新属性的方式:

listBox2.Items.Add(e1);

我已经为我的列表框设置了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
    }
Edge selectedItem = listBox1.SelectedItem as Edge;
selectedItem._cost = inputTextBox.Text;
listBox1.Refresh();

最新更新