我正在创建一个带有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();
}
根据调试器,一切都正确添加:
如果有帮助,请点击调用我的对话框的代码:
//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
{
}
}
答案 0 :(得分:3)
ListView Groups
仅在您的应用程序启用视觉样式时显示,并且您的应用程序中似乎禁用了视觉样式。
要在列表视图中显示组,
您的应用程序应调用Application.EnableVisualStyles
方法为应用程序启用视觉样式
通常,EnableVisualStyles
是Main
类中Program
方法的第一行。
答案 1 :(得分:2)
在应用程序开头调用Application.EnableVisualStyles()
应该有助于解决此问题。阅读此https://msdn.microsoft.com/en-us/library/system.windows.forms.listview.showgroups(v=vs.110).aspx