c# - 替换ListBox中的文本

时间:2016-03-26 15:16:26

标签: c# listbox

我怎么说,检测列表框中的特定文本并将其替换为特定文本。 例如:

        private void timer1_Tick(object sender, EventArgs e)
    {
        if(listBox1.Text.Contains("Hi"))
        {
            // replace with Hello
        }
    }

2 个答案:

答案 0 :(得分:4)

if(listBox1.Items.Cast<string>().Contains("Hi")){ //check if the Items has "Hi" string, case each item to string int a = listBox1.Items.IndexOf("Hi"); //get the index of "Hi" listBox1.Items.RemoveAt(a); //remove the element listBox1.Items.Insert(a, "Hello"); //re-insert the replacement element } 中,您可以这样做:

{{1}}

答案 1 :(得分:2)

在WinForm ListBox中,Text属性包含当前所选项目的文本 (我假设你有所有的字符串项目)

如果您需要查找项目的文本并使用不同的内容进行更改,则只需在Items集合中找到项目的索引,然后直接将实际文本替换为新文本。

 int pos = listBox1.Items.IndexOf("Hi");
 if(pos != -1) listBox1.Items[pos] = "Hello";

另请注意,如果字符串不存在,IndexOf将返回-1,因此无需添加其他检查以查找字符串是否在列表中