我有这个代码,AllFiles是字符串数组:
public string[] AllFiles { get; set; }
在这个地方,我试图获取所有选定的项目(在这种情况下是文件)。 我的listView1在设计器中设置为多选,因此我可以从listView1中选择一个或多个文件。
当我右键单击文件时,我会看到menuStrip1选项。 我想知道我是否多选一些文件并右键单击menuStrip1将打开的菜单对所有选定文件有效或仅对鼠标光标现在有效?
void listView1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (listView1.FocusedItem.Bounds.Contains(e.Location) == true)
{
menuStrip1.Show(listView1, e.Location);
}
}
}
然后我点击了menuStrip1项目的事件:
void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
if (e.ClickedItem.Text == "Upload")
{
AllFiles = listView1.SelectedItems
AllFiles = listView1.FocusedItem.Text);
Bgw.RunWorkerAsync();
}
}
这里我想添加为AllFiles数组分配我选择的文件。
listView1.FocusedItem.Text
仅针对单个文件,但如果我选择了多个文件,我如何从listView1中聚焦/获取所有标记/选定的文件/项目以及如何将它们分配给数组AllFiles?
答案 0 :(得分:1)
这看起来像是:
List<String> selected = new List<String>();
foreach(ListViewItem lvi in listView1.SelectedItems)
{
selected.Add(lvi.Text);
}
AllFiles = selected.ToArray();