在ASP.NET中的ListBox的ListItem有 Text和Value属性,但是在winform中Item好像只有一个值,比如:
我想把网站的目录显示在列表框中,在列表框中显示的是中文,点击后,下面显示出网站目录的链接。
用asp.NET的话很好实现,在winform中,我只有加两个ListBox,一个显示中文的名称,一个显示链接,然后同步添加,如果选择中文文本框的项后,用相同的selectItem去取另一个隐藏的ListBox中的链接的值,但是我觉得这种做法好像太笨了。winform中有没有类似于asp.net的这种控件啊?

解决方案 »

  1.   

    我没有用过ASP.NET,不过在winform中你也可以用哈希表(Hashtable)来解决啊,从ListBox中取出一个键,然后根据这个键从Hashtable中取出值,显示出来就可以了。
      

  2.   

    不过在ListBox中有一个ValueMember属性,可能符合你的要求
      

  3.   

    谢谢,请问如何使用ValueMember来改写我下面的代码呢? listBox1.Items.Clear(); foreach (Match m in mc) 


    if (m.Groups["Catalog"].Captures.Count > 0) 

    listBox1.Items.Add(m.Groups["Catalog"].Value);
    listBox2.Items.Add(BaseURL+m.Groups["NextURL"].Value);

    }
    //----------------------------------------------------------------------------- private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    listBox2.SelectedIndex = listBox1.SelectedIndex;
    targetURL.Text = listBox2.GetItemText(listBox2.SelectedItem);
    }
      

  4.   

    我以前用数组来进行记录,定义一个string 类型的数组,来存储。
      

  5.   

    我以前用数组来进行记录,定义两个string 类型的数组,来存储/读取于自定义文件中。