1

我有一个 objectlistview,它在一列中显示文件名及其路径。我想对选定的项目运行一个函数。有什么方法可以获取文件名的值并遍历在 objectlistview 上选择的每个文件?列方面名称是文件名。

我的函数如下:sampleFunction(string inputFile, string outputFile);

到目前为止,我已经尝试过,但无法工作,我知道我缺少对列本身的引用,但我不知道如何添加它:

for(var i=0; i<=objectListView1.SelectedObjects.Count; i++)
        {
            encClass.sampleFunction(objectListView1.SelectedObjects[i], "output here");
        }

编辑:

我还尝试了将方法附加ToString()objectListView1.SelectedObjects[i].ToString(). 它没有显示错误,但函数无法完美运行,因为我有 3 列,我只想将函数中第一列的值用作 inputFile 值。

4

1 回答 1

6

我似乎没有正确理解 OLV 的概念。我建议您(再次)阅读本教程。
OLV 允许您直接使用底层模型对象,因此只需将所选对象转换为原始类型并访问其属性。您甚至可以使用 TypedObjectListView<>,它简化了对模型的访问。

从您的帖子来看,您想要做的可能是这样的:

foreach (var selectedObject in objectListView1.SelectedObjects) {
    encClass.sampleFunction(((MyType)selectedObject).Filename, "output here");
}

显然,将“MyType”替换为您的模型对象类型。

于 2013-03-25T07:49:38.203 回答