Выберите несколько файлов на Winform C # - PullRequest
0 голосов
/ 11 января 2012

Я перехожу из .net asp.net в C # winform.

Я хочу выбрать несколько файлов в C # winform, а затем показать выбранные файлы на экране, чтобы пользователь мог их удалить ...

Какой элемент управления следует использовать для отображения элементов на экране winform?

Ответы [ 3 ]

1 голос
/ 11 января 2012

Если я правильно понимаю ваш вопрос, вы должны использовать Listbox.Пользователь может легко выбрать несколько элементов в списке, используя типичные клавиши Windows Ctrl / Shift и щелкая элементы, которые они хотят выбрать.

0 голосов
/ 25 января 2012

Ниже приведен скриншот и фрагмент кода из пользовательского элемента управления. Это должно дать вам отправную точку для создания собственного.

The File Selector GUI

    /// <summary>
    /// Retrieve a list of available files in the input directory
    /// </summary>
    private void LoadAvaliableFiles()
    {
        try
        {
            this.lv_AvailableFiles.Items.Clear();

            //Pick up files from structure
            //Firstly pick up all files in the target directory
            string[] filesFound = this.m_watcher.GetFiles();

            // Verify that we have some files to display in the list
            if (filesFound != null && filesFound.Length > 0)
            {
                // The ArrayList will contain PreConversionData objects
                foreach (string filePath in filesFound)
                {
                    string fileName = Path.GetFileName(filePath);

                    //create a list view item for the file
                    ListViewItem newFile = new ListViewItem(fileName);
                    newFile.Text = fileName;
                    newFile.ToolTipText = filePath;
                    newFile.Tag = filePath;

                    // Add the new item to the list
                    this.lv_AvailableFiles.Items.Add(newFile);
                }
            }

            this.lv_AvailableFiles.Refresh();
        }
        catch (Exception ex)
        {
            Log.WriteLine( Category.Warning, "Exception detected populating the available files list", ex);
        }

    }

Мой код использует средство отслеживания папок для перехвата всех новых добавленных файлов, но вы также можете легко использовать

string [] filesFound = Directory.GetFiles(targetDirectory);
0 голосов
/ 11 января 2012

Вопрос слишком общий.

Всего несколько вариантов:

ListBox

ListView

Зависит от того, что это за Item , о котором вы говорите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...