C# 如何在winforms listview中包装图像?

C# 如何在winforms listview中包装图像?,c#,winforms,C#,Winforms,当winform中的水平空间结束时,我需要将图像包装到下一行。但是这些图像只是垂直显示的,请建议一些方法来实现这一点 border_listview.Location = new Point(10, 35); border_listbox.Size=new System.Drawing.Size(123,123); border_listview.BorderStyle = BorderStyle.FixedSingle; // border_listview.MultiColumn = tru

当winform中的水平空间结束时,我需要将图像包装到下一行。但是这些图像只是垂直显示的,请建议一些方法来实现这一点

border_listview.Location = new Point(10, 35);
border_listbox.Size=new System.Drawing.Size(123,123);
border_listview.BorderStyle = BorderStyle.FixedSingle;
// border_listview.MultiColumn = true;
// var colel=new ImageCollection();
var image1=new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.NoneLineStyle.png"));
var image3 = new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle2.png"));
var image2 = new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle1.png"));
var image4 = new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle3.png"));
var image5 = new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle4.png"));
var image6 = new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle5.png"));
var image7 = new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle6.png"));
var image8 = new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle7.png"));
var image9 = new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle8.png"));
var image10 = new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle9.png"));
var image11 = new Bitmap(typeof(SfSpreadsheet).Assembly.GetManifestResourceStream("Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle10.png"));
var list = new ImageList();
list.ImageSize = new System.Drawing.Size(50, 10);
list.Images.AddRange(new Image[] { image1, image2, image3, image4, image5, image6, image7, image8, image9, image10, image11 });
border_listview.SmallImageList = list;           
border_listview.View = View.SmallIcon;
border_listview.Scrollable = false;           

for (int j = 0; j < list.Images.Count; j++)
{
    var item = new ListViewItem();
    item.ImageIndex = j;
    border_listview.Items.Add(item);
}
border\u listview.Location=新点(10,35);
border_listbox.Size=新系统图尺寸(123123);
border_listview.BorderStyle=BorderStyle.FixedSingle;
//border_listview.MultiColumn=true;
//var colel=新的ImageCollection();
var image1=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.NoneLineStyle.png”);
var image3=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle2.png”);
var image2=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle1.png”);
var image4=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle3.png”);
var image5=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle4.png”);
var image6=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle5.png”);
var image7=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle6.png”);
var image8=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle7.png”);
var image9=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle8.png”);
var image10=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle9.png”);
var image11=新位图(typeof(SfSpreadsheet.Assembly.GetManifestResourceStream(“Syncfusion.Windows.Forms.Spreadsheet.Resources.FormatCellsIcons.LineStyle10.png”);
var list=新的ImageList();
list.ImageSize=新系统图纸尺寸(50,10);
AddRange(新图像[]{image1,image2,image3,image4,image5,image6,image7,image8,image9,image10,image11});
border_listview.SmallImageList=list;
border_listview.View=View.SmallIcon;
border_listview.Scrollable=false;
对于(int j=0;j
您可以将
列表视图
与以下设置一起使用:

  • 将视图设置为平铺
  • 使用
    LargeImageList
  • 根据图像列表设置
    TileSize
  • 对齐设置为左侧,这样项目将首先填充一列,然后转到下一列
  • Scrollable
    设置为false,以隐藏可能的滚动条
  • 添加一些项目并为项目设置ImageKey/ImageIndex
  • 为ListView使用合适的大小

谢谢,它按预期工作,但另一个要求是,项目选择没有显示任何边框,背景颜色为蓝色,但无法清楚地识别所选项目