以编程方式更新列表框项值

时间:2015-02-09 11:49:34

标签: c# winforms

我有一个包含一些项目的列表框。当在表单中单击按钮时,我需要将列表框选定的项值与字符串连接起来。我怎么能得到这个结果。

    private void button3_Click(object sender, EventArgs e)
    {

        if (lstItemCode.SelectedItem.ToString().Contains("Complete"))
        {
            lstItemCode.Text = lstItemCode.SelectedItem.ToString().Replace("Complete", string.Empty).Trim();
        }
        //else
        //{

        //}
    }

2 个答案:

答案 0 :(得分:0)

假设您已使用字符串填充列表框而不是某种DataSource(表,List ...),那么您可以通过这种方式更改SelectedItem行

private void button3_Click(object sender, EventArgs e)
{
    if(lstItemCode.SelectedItem != null)
    {
        string newText = lstItemCode
                            .SelectedItem
                            .ToString()
                            .Replace("Complete", string.Empty)
                            .Trim();
        lstItemCode.Items[lstItemCode.SelectedIndex] = newText;
    }
}

如果您单击没有任何选定项目的按钮,则必须进行空检查。最后,使用Items集合到达当前所选项目文本并检索当前所选项目的索引

答案 1 :(得分:0)

我想这就是您在点击活动中想要实现的目标:

if (lstItemCode.SelectedItem == null)
    return;

if (lstItemCode.SelectedItem.ToString().Contains("Complete"))
{
    int idx = lstItemCode.Items.IndexOf(lstItemCode.SelectedItem);

    if(idx != -1)
        lstItemCode.Items[idx] = lstItemCode.SelectedItem.ToString().Replace("Complete", string.Empty).Trim();
}
相关问题