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

C#中ListBox.GetItemText传索引返回0问题:如何替代SelectedIndex?

问题解决方法

问题原因

GetItemText方法的参数要求是列表项的对象实例,而非索引值。你直接传入整数b时,方法会将其视为普通对象,调用ToString()返回结果,这就是为什么返回值始终为0(对应整数b的字符串形式)。

解决方法

方法一:通过索引获取项对象后传入GetItemText

不用修改选中状态,直接从列表的Items集合按索引取到对应项,再传给GetItemText:

var targetItem = listBox2.Items[b];
vGame = listBox2.GetItemText(targetItem);

方法二:直接调用项的ToString()(适用于显示文本等于项自身字符串的场景)

如果你的列表项是字符串类型,或者项的ToString()返回值就是显示文本,可直接简化:

vGame = listBox2.Items[b].ToString();

这两种方式都不会触发SelectedIndex变更导致的数据加载逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:35:27