我有一个Listview和一个“ADD”按钮,当我点击ADD时,我应该可以浏览计算机中的文件,选择文件,当点击OK或Open时,文件列表应该添加到listview中。 ..怎么做...是listview正确或任何其他替代...?
答案 0 :(得分:3)
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));
}
}
答案 1 :(得分:2)
如果要在设计器中执行此操作,可以执行以下步骤将图像添加到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);
}
}