C# 列表框中的格式问题
我想在我的C# 列表框中的格式问题,c#,winforms,listbox,C#,Winforms,Listbox,我想在我的列表框中显示这种格式: “文件名大小” 我该怎么做才能使其全部在右侧对齐?使用列表视图控件,该控件允许列和许多其他功能 首先添加控件,然后选择它并转到控件的属性,并将视图更改为详细信息。这将允许您查看具有可调整大小的列名的列表 接下来,创建两列(一列表示文件名,另一列表示文件大小)或您的案例中的任何内容。要执行此操作,请在“属性”窗口上转到“列”并单击它,以获得允许您添加列的对话框窗口 最后,这里是一些关于如何使用ListView的示例代码 private void Form1_Lo
列表框中显示这种格式:
“文件名大小”
我该怎么做才能使其全部在右侧对齐?使用列表视图
控件,该控件允许列和许多其他功能
首先添加控件,然后选择它并转到控件的属性,并将视图更改为详细信息。这将允许您查看具有可调整大小的列名的列表
接下来,创建两列(一列表示文件名,另一列表示文件大小)或您的案例中的任何内容。要执行此操作,请在“属性”窗口上转到“列”并单击它,以获得允许您添加列的对话框窗口
最后,这里是一些关于如何使用ListView
的示例代码
private void Form1_Load(object sender, EventArgs e)
{
var fileListForExample = Directory.GetFiles(@"C:\");
foreach (var item in fileListForExample)
{
FileInfo fileInfo = new FileInfo(item);
var lstItem = new ListViewItem(Path.GetFileName(item));
lstItem.SubItems.Add(fileInfo.Length.ToString());
var itemAdded = listView1.Items.Add(lstItem);
}
}
您可以在列表框中手动绘制项目。
例如:
使用列表视图
。如果不是,则使用固定宽度字体。
private void Form1_Load(object sender, EventArgs e)
{
var fileListForExample = Directory.GetFiles(@"C:\");
foreach (var item in fileListForExample)
{
FileInfo fileInfo = new FileInfo(item);
var lstItem = new ListViewItem(Path.GetFileName(item));
lstItem.SubItems.Add(fileInfo.Length.ToString());
var itemAdded = listView1.Items.Add(lstItem);
}
}
public Form1()
{
//InitializeComponent();
this.Width = 500;
var listBox = new ListBox { Parent = this, Width = 400, Height = 250 };
listBox.DrawMode = DrawMode.OwnerDrawFixed;
var files = new DirectoryInfo(".").GetFiles();
listBox.DataSource = files;
listBox.DrawItem += (o, e) =>
{
e.Graphics.DrawString(files[e.Index].Name, listBox.Font, Brushes.Black, e.Bounds);
var length = files[e.Index].Length.ToString();
var size = e.Graphics.MeasureString(length, listBox.Font);
e.Graphics.DrawString(length, listBox.Font,
Brushes.Black, e.Bounds.Width - size.Width, e.Bounds.Y);
};
}