【问题标题】:Initialize an ObjectListView with Buttons使用按钮初始化 ObjectListView
【发布时间】:2019-07-24 14:16:36
【问题描述】:

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

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

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

谢谢。

【问题讨论】:

  • @TaW 我正在使用 TreeListView 组件,该组件是从该项目下载的:link。是的,我试过了。我已经在我制作的其他屏幕上使用了该组件,但在我在帖子中解释的这种情况下,我无法解决问题。
  • 好吧,您确实需要在问题中包含该信息! - 使用方法请看文档,有代码再回来!

标签: c# winforms objectlistview


【解决方案1】:

如何将这些文件的名称加载到 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);
                }
        };

【讨论】:

    猜你喜欢
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 2017-11-27
    • 2020-12-30
    相关资源
    最近更新 更多