2016-02-19 159 views
2

我正在用列表視圖創建一個簡單的模式對話框。當我將項目添加爲組的一部分時,項目將顯示,但組標題不會顯示。我一直試圖在構造函數中使用一些虛擬對象。下面是代碼: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 
     { 
     } 
    } 
+1

看來VisualStyles已被禁用您的應用程序。你可以使用['Application.EnableVisualStyles()']來啓用它(https://msdn.microsoft.com/en-us/library/system.windows.forms.application.enablevisualstyles(v = vs.110).aspx)在你的應用程序類的主要方法。 –

回答

3

ListView Groups僅當您的應用程序啓用視覺樣式時纔會顯示,看起來您的應用程序中已禁用視覺樣式。
要在列表視圖中顯示組, 您的應用程序應調用Application.EnableVisualStyles方法爲應用程序啓用視覺樣式。
通常,EnableVisualStylesProgram類中Main方法的第一行。