comboBox.SelectedItem与SelectedText区别

来源:互联网 发布:淘宝开店没有生意 编辑:程序博客网 时间:2024/05/11 00:38

->SelectedItem是指当前选定项的对象,而不是文本  

SelectedItem   属性设置为一个对象时,ComboBox   尝试使该对象成为列表中当前选定的对象。如果在列表中找到了该对象,则将它显示在   ComboBox   的编辑部分,并且将   SelectedIndex   属性设置为相应的索引。如果列表中不存在该对象,则   SelectedIndex   属性保留其当前值。  

comboBox.SelectedText:表示组合框中当前选定文本的字符串,如果   DropDownStyle   设置为   comboBoxStyle.DropDownList,则返回值为空字符串   ("")。   
comboBox.SelectedValue:包含由   ValueMember   属性指定的数据源成员的值的对象。   

 

string   str=(string)comboBox.SelectedItem;     可以获得comboBox当前项的值   
string   str=comboBox.Text;                            同样也可以获得当前项的值

 

comboBox.SelectedItem: 这是一个对象    
comboBox.SelectedText:是指你当前选中第几个字符,不是第几项。比如:“你好吗”如果你用鼠标选中了“好”,那么 comboBox.SelectedText就是当前项的第二个字符。比如当前项是:“小青蛙”,那么comboBox.SelectedText的值就 是“青”。comboBox的DropDownStyle必须Simple       
comboBox.SelectedValue:返回ValueMember指定的字段的值。

例如:ValueMember设置为ID,comboBox显示的为Name,有如下记录:  
ID       Name  
001     青蛙   
当comboBox的当前项显示是“青蛙”时,SelectedValue的值为:001       
comboBox当前显示的值是:comboBox.Text   

----------------------------------------------------------------------------------------------------------------------------------------

using   System;  
using   System.Windows.Forms   ;  
using   System.Drawing   ;  
using   System.Collections   ;  


namespace   MyListControlSample  
{  

public   class   USState  
{  
private   string   myShortName   ;  
private   string   myLongName   ;  

public     USState(string   strLongName,   string   strShortName)  
{  

this.myShortName   =   strShortName;  
this.myLongName   =   strLongName;  
}  

public   string   ShortName  
{  
get  
{  
return   myShortName;  
}  
}  

public   string   LongName  
{  

get  
{  
return   myLongName   ;  
}  
}  

public   override   string   ToString()  
{  
return   this.ShortName   +   "   -   "   +   this.LongName;  
}  
}  

public   class   ListBoxSample3:Form  
{  
private   ListBox   ListBox1   =   new   ListBox();  
private   TextBox   textBox1   =   new   TextBox()   ;  

[STAThread]  
static   void   Main()    
{  
Application.Run(new   ListBoxSample3())   ;  
}  

public   ListBoxSample3()  
{  

this.AutoScaleBaseSize   =   new   Size(5,   13)   ;  
this.ClientSize   =   new   Size(292,   181)   ;  
this.Text   =   "ListBox   Sample3"   ;  

ListBox1.Location   =   new   Point(24,   16)   ;  
ListBox1.Name   =   "ListBox1"   ;  
ListBox1.Size   =   new   Size(232,   130)   ;  



textBox1.Location   =   new   Point(24,   160)   ;  
textBox1.Name   =   "textBox1"   ;  
textBox1.Size   =   new   Size(240,   24)   ;  
this.Controls.AddRange(new   Control[]   {ListBox1,   textBox1})   ;  

//   Populates   the   list   box   using   DataSource.    
//   DisplayMember   is   used   to   display   just   the   long   name   of   each   state.  
ArrayList   USStates   =   new   ArrayList()         ;  
USStates.Add(new   USState("Alabama",   "AL"));  
USStates.Add(new   USState("Washington",   "WA"))     ;    
USStates.Add(new   USState("West   Virginia",   "WV"));  
USStates.Add(new   USState("Wisconsin",   "WI"))   ;  
USStates.Add(new   USState("Wyoming",   "WY"));  

ListBox1.SelectedValueChanged   +=   new   EventHandler(ListBox1_SelectedValueChanged);  
ListBox1.DataSource   =   USStates   ;  
ListBox1.DisplayMember   =   "LongName"             ;  
ListBox1.ValueMember   =   "ShortName"   ;  

}  
private   void   InitializeComponent()  
{  

}  

private   void   ListBox1_SelectedValueChanged(object   sender,   EventArgs   e)  
{  
if   (ListBox1.SelectedIndex   !=   -1)  
textBox1.Text   =   ListBox1.SelectedValue.ToString();  
}  
}  

原创粉丝点击