добавить свойства элементов - c # winform - PullRequest
1 голос
/ 21 марта 2012

Я хочу загрузить несколько файлов (например, «Изображения», «Документы», «PDF-файлы») в просмотр списка, и будут отображены его свойства.

Это был код, с которым я работаю:

        FileInfo FInfo;

        DialogResult dr = this.openFD.ShowDialog();
        if (dr == System.Windows.Forms.DialogResult.OK)
        {
            // Read the files
            foreach (String file in openFD.FileNames)
            {
                string fileName = Path.GetFileNameWithoutExtension(file);
                ListViewItem item = new ListViewItem(fileName);
                item.Tag = file;

                listView1.Items.Add(item);
            }
        }

Пожалуйста, помогите мне.

Ответы [ 3 ]

3 голосов
/ 21 марта 2012

Вот как я делаю для файлов Excel. Вам просто нужно немного его изменить. Я надеюсь, что это поможет.

    private void loadMatchingResponsesReports()
    {
        listBox2.Items.Clear();

        string[] list = getMatchingReports();
        foreach (String S in list)
        {
            FileInfo fileResponse = new FileInfo(S);
            string fileResponseNameOnly = fileResponse.Name;
            listBox2.Items.Add(fileResponseNameOnly);
            GC.Collect();
        }
    }

    public string[] getMatchingReports()
    {
        string[] returnR = null;
        try
        {
            returnR = Directory.GetFiles(textBox3.Text + @"\", "*.xls");
        }
        catch
        {
            MessageBox.Show("Can't get some files from directory " + textBox3.Text);
        }
        return returnR;
    }
0 голосов
/ 21 марта 2012

Вам необходимо использовать класс FileInfo . Для каждого файла, который вы хотите добавить, создайте экземпляр. Он также имеет все свойства, которые вы хотели бы добавить в интерфейс, подобный проводнику, например: CreationTime, Extension, Name и т. Д. Размер (в байтах) можно получить из свойства Length .

Вы бы добавили ListViewSubItem для каждого атрибута, соответствующего столбцу в вашем ListView.

0 голосов
/ 21 марта 2012

Вместо простой строки вы можете использовать пользовательский объект для хранения всех свойств, которые вы хотите связать с ListViewItem.

item.Tag = file;

file должен быть пользовательского типа, а Dictionary<string, string> может быть.

...