使用按钮初始化 ObjectListView

Initialize an ObjectListView with Buttons

我有一个包含三列的 ObjectListView。第一个显示文件的名称,另外两个必须具有允许执行下载和删除操作的按钮。

但是,为了初始化 ObjectListView,我首先调用一个方法,该方法 returns 一个包含文件名的字符串列表。

如何让这些文件的名称加载到 ObjectListView 的第一列中,并伴随其他两列中的按钮?

谢谢。

How do I get the names of these files to load in the first column of ObjectListVie

您可以使用 AddObjects 将对象列表添加到 ObjectListView。您可以使用 OlvColumn.AspectName 来确定显示的内容,例如"ToString"。你可能想要创建一个 class 而不是只是将字符串推入。

        olvColumn1.AspectName = "ToString";

        olv.AddObjects(new []
        {
            @"c:\temp.txt",
            @"c:\temp.txt",
            @"c:\temp.txt"
        });

accompanied by the buttons in the other two columns?

您可以这样在列中创建按钮:

        olvColumn2.IsButton = true;
        olvColumn2.ButtonSizing = BrightIdeasSoftware.OLVColumn.ButtonSizingMode.CellBounds;
        olvColumn2.AspectGetter =(s)=>"Kill";
        olv.ButtonClick += (s, e) => 
        {
            if(e.Column == olvColumn2) 
                try
                {
                    if(File.Exists((string)e.Model))
                        File.Delete((string)e.Model);
                    else
                        MessageBox.Show("File not found");
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
        };