ListView显示项目但不显示组

时间:2016-02-19 19:55:31

标签: c# .net winforms visual-studio-2015

我正在创建一个带有listview的简单模态对话框。当我将项目添加为组的一部分时,项目将显示但组标题不会显示。我一直在尝试使用构造函数中的一些虚拟对象。这是代码:

    //Initialize and create columns
    public ConfirmDialog(List<ContentFileInfo> files, List<ContentFileInfo> folders, ManagerMain manager)
    {
        _myFiles = files;
        _myFolders = folders;
        _manager = manager;

        InitializeComponent();
        //cbFilter.SelectedIndex = 0;
        CreateColumns();

        lstChanges.BeginUpdate();
        lstChanges.ShowGroups = true;

        ListViewGroup test = new ListViewGroup("TestGroup");

        ListViewItem item = new ListViewItem {Group = test};
        ListViewItem item2 = new ListViewItem();
        ListViewItem.ListViewSubItem sub = new ListViewItem.ListViewSubItem();
        ListViewItem.ListViewSubItem sub2 = new ListViewItem.ListViewSubItem();

        sub.Text = "Item descrip.";
        sub2.Text = "Item2 descrip.";

        item.Text = "Item name.";
        item.SubItems.Add(sub);

        item2.Text = "Item2 name.";
        item2.SubItems.Add(sub2);

        lstChanges.Items.Add(item);
        lstChanges.Groups.Add(test);
        lstChanges.Items.Add(item2);

        lstChanges.EndUpdate();

        //GetAllFolders();
        //FillListByGroup();
        //NotifyOfUnchangedFiles();
    }

以及会话期间出现的对话框: enter image description here

根据调试器,一切都正确添加:

enter image description here

如果有帮助,请点击调用我的对话框的代码:

    //Event: Prompt user to approve change request
    private void btnPushChanges_Clicked(object sender, EventArgs e)
    {
        ConfirmDialog dialog = new ConfirmDialog(_cmprController.SelectedFiles, _cmprController.SelectedFolders, this);
        try
        {
            dialog.ShowDialog();
        }
        catch
        {
        }
    }

2 个答案:

答案 0 :(得分:3)

ListView Groups仅在您的应用程序启用视觉样式时显示,并且您的应用程序中似乎禁用了视觉样式。
要在列表视图中显示组, 您的应用程序应调用Application.EnableVisualStyles方法为应用程序启用视觉样式 通常,EnableVisualStylesMain类中Program方法的第一行。

答案 1 :(得分:2)

在应用程序开头调用Application.EnableVisualStyles()应该有助于解决此问题。阅读此https://msdn.microsoft.com/en-us/library/system.windows.forms.listview.showgroups(v=vs.110).aspx

的备注部分