水平列表框

mnh*_*ddn 2 c# listbox winforms

我正在一个项目中工作,需要水平显示一些项目,这些项目就像列表框的,所以我能够在将项目添加到列表框中之前更改项目的文本和属性。是否可以使像这个图这样的水平列表框? 在此输入图像描述 图片来源:水平ListView Xamarin.Forms

编辑; 我正在使用 Windows 窗体应用程序

Lar*_*ech 5

您还可以使用 ListView 控件:

listView1.View = View.Tile;
listView1.Alignment = ListViewAlignment.Left;
listView1.OwnerDraw = true;
listView1.DrawItem += listView1_DrawItem;
listView1.TileSize = new Size(48,
  listView1.ClientSize.Height - (SystemInformation.HorizontalScrollBarHeight + 4));
for (int i = 0; i < 25; ++i) {
  listView1.Items.Add(new ListViewItem(i.ToString()));
}

void listView1_DrawItem(object sender, DrawListViewItemEventArgs e) {
  Color textColor = Color.Black;
  if ((e.State & ListViewItemStates.Selected) != 0) {
    e.Graphics.FillRectangle(SystemBrushes.Highlight, e.Bounds);
    textColor = SystemColors.HighlightText;
  } else {
    e.Graphics.FillRectangle(Brushes.White, e.Bounds);
  }
  e.Graphics.DrawRectangle(Pens.DarkGray, e.Bounds);

  TextRenderer.DrawText(e.Graphics, e.Item.Text, listView1.Font, e.Bounds,
                        textColor, Color.Empty,
                        TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter);
}
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述