你的「入口」的項目看基於圖像像他們具有不同的屬性。條目ID#2有四個項目,而其他項目有三個。基於此,您可以使用ListBox
和DrawMode = OwnerDrawVariable
。
簡單列表框例如:
private List<int> entries = new List<int>();
public Form1() {
InitializeComponent();
entries.Add(3);
entries.Add(4);
entries.Add(3);
listBox1.DrawMode = DrawMode.OwnerDrawVariable;
listBox1.MeasureItem += new MeasureItemEventHandler(listBox1_MeasureItem);
listBox1.DrawItem += new DrawItemEventHandler(listBox1_DrawItem);
}
private void listBox1_MeasureItem(object sender, MeasureItemEventArgs e) {
if (e.Index > -1)
e.ItemHeight = (((int)listBox1.Items[e.Index]) * 16) + 8;
}
private void listBox1_DrawItem(object sender, DrawItemEventArgs e) {
e.DrawBackground();
if (e.Index > -1) {
ControlPaint.DrawBorder3D(e.Graphics, e.Bounds);
for (int i = 0; i < (int)listBox1.Items[e.Index]; i++) {
TextRenderer.DrawText(e.Graphics,
"Item #" + i.ToString(),
e.Font,
new Point(e.Bounds.Left + 4, (e.Bounds.Top + 4) + (i * 16)),
Color.Black);
}
}
}
結果:
![enter image description here](https://i.stack.imgur.com/CDyJ4.png)
我想你想一個DataGridView – Danny
這個問題可能屬於上[UX(http://ux.stackexchange.com /)。 – LarsTech
@Danny:我不認爲datagridview會是個好主意。我的輸出看起來像MS Access行和列,我正在使用它來存儲我的實際數據,如果它看起來像MS Access本身lol,那麼我的程序的目的就會消失。 – HelpNeeder