我有一个列表视图和一个“添加”按钮,当我点击添加我应该能够浏览计算机中的文件,选择文件,当点击确定或打开时,文件列表应该被添加到列表视图...如何做到这一点...是列表视图正确或任何其他替代...?将文件添加到C#中的列表视图
回答
ListView应该适用于文件列表。请注意,如果您要将完整路径添加到列表中,则较长的文件路径很难看到(必须水平滚动,这很糟糕!)。您可以玩具与其他代表的想法一样:
File.Txt (C:\Users\Me\Documents)
C:\Users\..\File.Txt
etc
至于使用代码而言这样做,你将需要使用OpenFileDialog控制,让用户选择文件。
var ofd = new OpenFileDialog();
//add extension filter etc
ofd.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
if(ofd.ShowDialog() == DialogResult.OK)
{
foreach (var f in openFileDialog1.FileNames)
{
//Transform the list to a better presentation if needed
//Below code just adds the full path to list
listView1.Items.Add (f);
//Or use below code to just add file names
//listView1.Items.Add (Path.GetFileName (f));
}
}
有关缩短路径的更多信息和一些不同的策略,请查看Jeff的[博客文章](http://www.codinghorror.com/blog/2006/08/shortening-long-file-paths.html)学科。其实质是您可以使用正则表达式或[`PathCompactPathEx` API](http://msdn.microsoft.com/zh-cn/library/bb773578.aspx)自动执行此操作。 – 2010-12-01 04:10:40
@hemanth:thanx ...如何只显示选定的文件名? – 2010-12-01 04:45:21
如果你想做到这一点的设计师,你可以采取以下步骤将图像添加到ListView控件:
- 切换到设计师,单击该ImageList组件上组件托盘中,ImageList的右上角会出现一个智能标签。
- 单击智能标签,然后单击窗格上的“选择图像”。
- 在弹出的图像集合编辑器对话框中,从您想要的文件夹中选择图像。
- 单击确定完成将图像添加到ImageList。
- 单击窗体上的ListView,右上角会出现一个智能标签。
- 单击智能标签,您会发现那里有三个组合框,您可以根据需要从列表中选择一个ImageList。
- 单击智能标签上的“添加项目”选项,将出现一个ListViewItem集合编辑器,您可以将项目添加到ListView,这里设置ImageIndex或ImageKey属性很重要,否则图像将不会出现。
- 单击确定完成项目编辑,现在您会发现图像显示在ListView上。
如果你想给图像添加到通过代码ListView控件,你可以做这样的事情
给下面的代码在addButton_click
var fdlg = new OpenFileDialog();
fdlg.Multiselect = true;
fdlg.Title = "Select a file to add... ";
fdlg.InitialDirectory = "C:\\";
fdlg.Filter = "All files|*.*";
fdlg.RestoreDirectory = true;
if (fdlg.ShowDialog() == DialogResult.OK)
{
foreach (var files in fdlg.FileNames)
{
try
{
this.imageList1.Images.Add(Image.FromFile(files));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
this.listView1.View = View.LargeIcon;
this.imageList1.ImageSize = new Size(32, 32);
this.listView1.LargeImageList = this.imageList1;
//or
//this.listView1.View = View.SmallIcon;
//this.listView1.SmallImageList = this.imageList1;
for (int j = 0; j < this.imageList1.Images.Count; j++)
{
ListViewItem item = new ListViewItem();
item.ImageIndex = j;
this.listView1.Items.Add(item);
}
}
- 1. 如何将文件的内容添加到列表视图C#
- 2. 如何使用C#将主文件添加到列表视图?
- 3. 将javascript文件添加到视图中
- 4. 将新添加的项添加到我的列表视图中?
- 5. 将文本视图添加到列表视图
- 6. 将footerview添加到列表视图
- 7. 将子项添加到列表视图
- 8. 将HTML文件添加到Xcode中的表格视图
- 9. C# - 如何将文件夹中的图像添加到数组并将它们显示在列表视图中?
- 10. C# - 将图像加载到图像列表和列表视图
- 11. 将JavaScript文件添加到视图
- 12. 如何将图像列表添加到WPF列表视图?
- 13. 将图像添加到列表视图中的按钮
- 14. 将图像添加到列表视图中的第一项?
- 15. 将对象数组添加到列表视图在c#
- 16. 将文本添加到线程的列表视图
- 17. 将列添加到包含图像的列表视图
- 18. 将文件夹中的图像添加到下拉列表
- 19. 将图例添加到列表图中
- 20. 添加视图中列表视图
- 21. 将多个视图添加到列表视图
- 22. 添加列表视图列来到0
- 23. 在列表视图的第一列中添加图像C#
- 24. 将项目添加到C++列表中
- 25. 将列表面板添加到列表视图项目
- 26. 将数组列表添加到自定义列表视图
- 27. 仅列表适配器将1项添加到列表视图
- 28. 将项目添加到列表视图控件
- 29. 将动画添加到Android中的列表视图
- 30. 将列表添加到Django视图中的对象
什么样的应用,这是? Windows窗体? ASP.NET? WPF? – JeffFerguson 2010-12-01 02:58:45