ListBox.SelectedObjectCollection u = this.listBox1.SelectedItems;    
for (int i = 0; i < u.Count; i++)    
{    
    MessageBox.Show(u[i].ToString());    
}      获得为什么是 system.data.datarowview 而不是值呢?
那么如何获得选中的值

解决方案 »

  1.   

    listBox.SelectItem 返回的直接是 你Add的 
      

  2.   

    for (int i = 0; i < listbox1.Items.Count; i++)    
    {    
    if(listbox1.Items[i].Selected)
    {
        MessageBox.Show(listbox1.Items[i].Value);    
    }
      

  3.   

            foreach (object o in listBox1.SelectedItems)
                {
                    MessageBox.Show(o.ToString());
                }
      

  4.   


    加上这句代码 this.listBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;            for (int i = 0; i < listBox1.SelectedItems.Count; i++)
                {
                    MessageBox.Show("" + listBox1.SelectedItems[i]);
                }
      

  5.   


    system.data.datarowview 是ListBox里面item的类型吧?
    MessageBox.Show(u[i].ToString());     ==>
    if(u[i] is datarowview)
    {
       datarowview view = u[i] as datarowview;
       // do your things with object view
    }
      

  6.   

    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    ListItem li = new ListItem(ds.Tables[0].Rows[i]["name"].ToString(), ds.Tables[0].Rows[i]["name"].ToString());
                    this.listBox1.Items.Add(li);
                } 
    这种绑定,MessageBox.Show(listBox1.SelectedItem.ToString());就可以了
    listBox1.DataSource = ds.Tables[0];
                listBox1.DisplayMember = "name";
    这种绑定就不可以
      

  7.   

    LZ 要用这个的话 需这样改的;
    SelectedObjectCollection  返回的是DataRowView 所以就需要在DatarowView里找到视图行的列
    if((u[i] as DataRowview)!=null)
    {
       DataRowView view = u[i] as DataRowView ;
       string Value1= view["列名"].ToString();}