2011-03-29 22 views

cevap

16

Sen madde soluk görünecektir yapmak ListBoxItem.ForeColor ve UseItemStyleForSubItems özelliklerini kullanabilirsiniz. Engelli öğeler için tema rengini seçmek için SystemColors.GrayText'i kullanın. Seçimi devre dışı bırakmaktan kaçının, kullanıcının klavyeyi kullanmasını engeller. Sadece onay kutusunu işaretleyin. Örneğin: - benim durumumda un dava öğeleri belirtmektedir iyi bir görsel yaklaşım

private void listView1_ItemCheck(object sender, ItemCheckEventArgs e) { 
     // Disable checking odd-numbered items 
     if (e.Index % 2 == 1) e.NewValue = e.CurrentValue; 
    } 
+0

sayesinde bu benim için çalıştı ama buna başlamak için olmasa bile kontrolsüz bırakılması olacağını sağlamak istedim çünkü CheckedState.Unchecked için e.NewValue atanan. –

-2

Onay kutusunun AutoCheck özelliğini false olarak ayarlamanız gerekir.

AutoCheck - alır veya gösteren bir değere ayarlanmış olup olmadığı kontrol veya onay tıklandığında CheckState değerleri kutusunun görünümünü otomatik olarak değiştirilir.

Aslında, bu sadece kutusunun kontrolü için kullanılabilir.

2

Bunun için kendi başınızı döndürmelisiniz. ListView 'ın ItemSelectionChanged olayı Kulp - Belirli bir öğe seçilebilir olmasını istemiyorsanız, bunu:

e.Item.Selected = false; 

Belirli bir öğe unselectable görünmesine neden olabilir, vb dışarı ağaran tipi rengini değiştirerek

1

Hans Passant önerisi aldı.

'Select all attachements in case user wants to mask or pick and choose 
    For i As Integer = 0 To lstView.Items.Count - 1 
     If Not Scan.SupportedMasking.Contains(Path.GetExtension(lstView.Items(i).Text)) Then 
      lstView.Items(i).ForeColor = SystemColors.GrayText 
      lstView.Items(i).Text += " (No masking supported)" 
      lstView.Items(i).BackColor = SystemColors.InactiveBorder 
      lstView.Items(i).Selected = False 
     Else 
      lstView.Items(i).Selected = True 
     End If 
    Next i 
0

kullanımı bu veya set düzenleme Insted görüntülemek için displayMode: Aşağıda örnek var!

public void SetItemEnabled(ListViewItem item, bool enabled) 
{ 
    if (item != null) 
    { 
     List<ListViewControl> lvControls = this.ListViewControls.FindAll(FindListViewControl(item)); 
     foreach (ListViewControl lvControl in lvControls) 
    { 
     if (lvControl.Control != null) 
     { 
     lvControl.Control.Enabled = enabled; 
     } 
     } 
    } 
} 
İlgili konular