A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李景荣 中级黑马   /  2013-2-24 00:07  /  1979 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李景荣 于 2013-2-24 12:55 编辑

text属性存的是当前选择的项,那ComboBox可以通过索引来访问到所选的项吗?
combobox.Item[combobox.selectedIndex]  这样应该会报错的吧?
SelectedValue,SelectedText这两个属性又有什么区别呢?

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

3 个回复

倒序浏览
如果乱了,记得有个this.xxx.text就是本类的
回复 使用道具 举报
本帖最后由 pokemon 于 2013-2-24 11:37 编辑

text属性存的是当前选择的项,那ComboBox可以通过索引来访问到所选的项吗?
可以

int selectedIndex = this.SelectedIndex;   
if (SelectedIndex!=-1)
{

return this.Items[selectedIndex];
}      
return null ;


这个是SelectItem 中的一部分代码



combobox.Item[combobox.selectedIndex]  这样应该会报错的吧?
你是说selectedItem吧,会报错 combobox.selectedItem是当前选择的项,如果你要这么搞,把combobox.Item改成combobox.Items就ok了
SelectedValue,SelectedText这两个属性又有什么区别呢?
不晓得.{:soso_e122:} 坐等楼下高手

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 颜晓峰 于 2013-2-24 13:02 编辑

1.首先,text属性代表的并不是当前选择的项,而且文本框中的内容,比如你开始没选择下拉列表里的项,随便在文本框中输入,或者放空,那都是text属性的内容。text只会管文本框中有什么,不会知道你选择了什么。
2.要通过索引来访问到所选的项,有个由内容找索引的方法如下: 我们用这个简单的界面来做测试。在按钮的点击事件中写上: private void button1_Click(object sender, EventArgs e)
        {
            button1.Text = comboBox1.Items[comboBox1.Items.IndexOf(comboBox1.Text)].ToString();
        }
红色部分既是选中项的索引,当然前提是combox1.text的内容确实是与combox的某项一样。
3.SelectedValue可以用于有绑定项时。如数据库是有个表:table
id     name
1       abc
2       def
3       ghi
...

comboBox1.DataSource = table;
comboBox1.DisplayMemeber = "name";
comboBox1.ValueMember = "id";

假设是这样绑定的,那么comboBox1.SelectedValue返回的是当前选择的项的id值。
(顺便说一句:如果是绑定,那么不要让用户通过comboBox手动输入值,让他只能通过下拉选择)
4.SelectedText用于获取或设置文本框中选定的内容。如: SelectedText所代表的就是蓝色部分cc。

以上皆为本人暂时的理解,如有错漏,请尽情蹂躏{:soso_e106:}

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马