Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用SelectedIndexChanged事件在列表框中移动项目,并仅选择项目的一部分?_C# - Fatal编程技术网

C# 如何使用SelectedIndexChanged事件在列表框中移动项目,并仅选择项目的一部分?

C# 如何使用SelectedIndexChanged事件在列表框中移动项目,并仅选择项目的一部分?,c#,C#,这是如何在项目中移动并在标签中显示它们的代码: private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { label4.Text = listBox1.SelectedItem.ToString(); } 但如果我有3个项目,例如: Url: http://www.cnet.com --- Localy KeyWord: cnet Url: http

这是如何在项目中移动并在标签中显示它们的代码:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            label4.Text = listBox1.SelectedItem.ToString();
        } 
但如果我有3个项目,例如:

Url: http://www.cnet.com --- Localy KeyWord: cnet
Url: http://www.google.com --- Localy KeyWord: google
Url: http://www.microsoft.com --- Localy KeyWord: microsoft

然后我想在label4中只显示每个项目的url,如果在label4中的第一个项目上有im,我将只看到第二个项目上的im,所以label4将只显示,依此类推…在label4中只显示网站地址部分。

我想这是一个很长的解决方法,但它的工作原理是:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

            if (listBox1.SelectedItem != null)
            {
                label4.Text = listBox1.SelectedItem.ToString();

                string startTag = "Url: ";
                string endTag = " ---";
                int startTagWidth = startTag.Length;
                int endTagWidth = endTag.Length;
                int index = 0;
                index = label4.Text.IndexOf(startTag, index);
                int start = index + startTagWidth;
                index = label4.Text.IndexOf(endTag, start + 1);
                string g = label4.Text.Substring(start, index - start);
                label4.Text = g;
            }
        } 

谢谢。

您的URL格式是常量吗?允许使用什么后缀?这可以很容易地用正则表达式解决。列表框中的url是常量。用户可以向列表框中添加新的url,格式与上面相同,但列表框中的url不能更改。我的意思是,列表框中的url的任何后缀都可以包含我想从列表框中只包含url:和Localy关键字:google之间的部分,因此在label4中的exmaple中,它将是,但它可以是任何类型的url.Cyborgx37。在用户在列表框中进行选择后,我尝试了1_SelectedIndexChanged事件以使用label4.Text.IndexOf和label4.Text.Substring,但到目前为止没有任何成功。我做到了:label4.Text=listBox1.SelectedItem.ToString;inti=listBox1.Text.indexofur:;字符串t=label4.Text.Substringi;但是它不起作用,结果不是我想要的。放慢速度,试着用标点符号写一个完整的句子。此外,你应该更新你的问题,而不是用额外的信息淹没评论。见: