首页 > 解决方案 > 使用按钮初始化 ObjectListView

问题描述

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

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

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

谢谢。

标签: c#winformsobjectlistview

解决方案


如何让这些文件的名称加载到 ObjectListVie 的第一列

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

        olvColumn1.AspectName = "ToString";

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

伴随着其他两列中的按钮?

您可以在列中创建按钮,如下所示:

        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);
                }
        };

推荐阅读