あなたにとって最良のオプションはDataGridView
、2つの列で使用することだと思います:
DataGridViewButtonColumn
、AutoSizeMode = AllCells
DataGridViewTextBoxColumn
、ReadOnly = true、AutoSizeMode = 塗りつぶし
またRowHeadersVisible
、ColumnHeadersVisible
偽に。結果:

コード:
string[] members = { "Beverages", "Condiments", "Confections" };
dataGridView1.DataSource = members.Select((x, i) => new { Value = x, Index = i })
.ToList();
DataPropertyName
また、列をインデックスと値に設定する必要があります。
更新 (.NET 2.0 の場合):
string[] members = { "Beverages", "Condiments", "Confections" };
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = members;
CellFormatting イベントをサブスクライブします。
void dataGridView1_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 0)
{
e.Value = e.RowIndex;
return;
}
e.Value = dataGridView1.Rows[e.RowIndex].DataBoundItem;
}