我为 ListView 中的 4 列中的每一列分配了描述性名称:头、嘴、鼻子、眼睛。如何使用该文本访问这些列?我很想找到一种方法来做到这一点,就像在 C 中所做的那样优雅简洁(使用#define):
if (Column[MOUTH] == 6)...
不是很优雅,但这应该可以工作(在这个例子中,我从 listView 中的第一个选定项目中获取文本。您也可以使用 listView.Items)
string selectedItemMouthColumn = listView.SelectedItems[0].SubItems[listView.Columns.IndexOf(MOUTH)].Text;
在创建列时包含该列的键。例如:
// C# - first string is column key, second is column title
MyListView.Columns.Add("Name","File Name");
MyListView.Columns.Add("Size","File Size");
然后,您可以使用键字符串来获取列索引。
var ColIndex = MyListView.Columns.IndexOfKey("Size");
或者:
// Example: Get name for first selected listview item:
ListView lv = MyListView;
string FName = lv.SelectedItems[0].SubItems[lv.Columns.IndexOfKey("Name")].Text;