2013-11-21 62 views
1

我在我的C#所有者繪製固定列表框中實現了MeasureItem和DrawItem方法。如何設置自繪列表框中的項目數

什麼也沒有顯示出來。

絕望之餘,我在Items集合中添加了三個隨機字符串,並且我的第一個項目出現了!

這告訴我列表框不知道有項目。我是否需要向Items集合中添加數百個虛擬物品,才能看到MY物品?這是丁丁;應該有一種方法來告訴列表框有多少項 - 我找不到它!

如何設置自繪列表框中的項目數量?

代碼:

private void listVersions_MeasureItem (object sender, MeasureItemEventArgs e) 
{ 
    e.ItemHeight = font.Height + 6; 
} 

private void listVersions_DrawItem (object sender, DrawItemEventArgs e) 
{ 
    if (entries == null) 
     return; 

    int i = e.Index; 

    if (i < 0 || i >= entries.Count) 
     return; 

    e.Graphics.FillRectangle (new SolidBrush (BackColor), e.Bounds); 
    VersionEntry ent = entries[i]; 
    Rectangle rect = e.Bounds; 
    Graphics g = e.Graphics; 

    g.DrawString (i.ToString() + " " + ent.name, font, Brushes.Black, rect.Location); 
} 
+0

你能顯示你的代碼嗎? – paqogomez

+0

把它貼到你的帖子上..它看起來會好很多。此外,你可能正在尋找[OnPropertyChanged?](http://stackoverflow.com/questions/12034840/handling-onpropertychanged) – paqogomez

+0

我不明白OnPropertyChanged會如何幫助;沒有什麼變化:我只想顯示一個列表。 – user20493

回答

2

嘗試使你的ListBox的數據源條目集合:

listVersions.DataSource = entries 
+0

是的!這解決了它!謝謝拉爾斯!一個贊成你... – user20493

相關問題