You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++/CLI中如何正确获取ListBox控件的选中项文本

错误原因

ListBox::GetItemText() 的入参要求是列表项对应的对象实例,不接受索引值作为入参。你传入的lsbGender->SelectedIndex是值为1的整型索引,方法会直接将该整型值转为字符串返回,因此得到"1"而非目标项文本。

正确实现方法

单选模式(适配当前性别选择场景)

传入选中项对象SelectedItem作为入参即可,该写法兼容手动添加项、绑定数据源并设置DisplayMember的所有场景,是最稳妥的实现方式:

String^ selectedText = lsbGender->GetItemText(lsbGender->SelectedItem);

简化写法(仅手动添加字符串项时可用)

如果你的列表项是手动通过Items->Add()直接添加的字符串对象,没有自定义显示成员配置,也可以直接转字符串取值:

String^ selectedText = lsbGender->SelectedItem->ToString();

多选模式拓展

如果开启了ListBox的多选功能,需要遍历选中项集合逐一取文本:

for each (Object^ singleItem in lsbGender->SelectedItems)
{
    String^ itemText = lsbGender->GetItemText(singleItem);
    // 对拿到的项文本做后续逻辑处理
}

内容的提问来源于stack exchange,提问作者stamhe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 04:06:05