C# 双击ListBox控件项弹出对应内容消息框的实现问题
private void empLbx_MouseDoubleClick(object sender, MouseEventArgs e) { int index = this.empLbx.IndexFromPoint(e.Location); if (index != System.Windows.Forms.ListBox.NoMatches) { // 通用方案,兼容绑定数据源/直接添加字符串的所有场景,可直接拿到界面显示的文本 string itemContent = empLbx.GetItemText(empLbx.Items[index]); MessageBox.Show(itemContent); // 若你确认所有选项都是手动添加的字符串类型,也可以用简化写法 // MessageBox.Show(empLbx.Items[index].ToString()); } }
说明
- ListBox的
Items属性存储了所有选项的集合,你已经拿到了双击项的索引,直接通过索引即可定位到对应选项 - 优先推荐使用
GetItemText()方法获取文本:不管你是直接往控件里加字符串,还是绑定了自定义类对象、设置了DisplayMember显示字段,这个方法都能正确返回用户在界面上看到的文本内容,兼容性更好。
内容的提问来源于stack exchange,提问作者Alexander Guryanov
相关产品推荐
相关产品推荐

