Задание массива запросов файлов PropertyGrid
У меня такая проблема, как сделать сабж. Причем, чтобы список был бесконечным(при добавлении предыдущегооткрывался сделующий), и для каждого элемента (типа UITypeEditorEditStyle.Modal) Можно было запускать диалог выбора файла.
Буду благодарен за Виши соображения по этому поводу.
С ув. Алексей.
Популярней можно, а то чё то не совсем вкурил...
К примеру у меня есть массив строк, который есть тип опции. В ПГрид она высвечивается, как группа элементов, но вводить можно в стандартном диалоге. Так вот, потом после нажатия на плюсик снизу раскрывается список элементов этого массива. Как сделать так, чтобы:
1. Не вызывался стандартный диалог вывода, а при введении в списке одного элемента добавлялось новое поле для ввода следующего?
2. Для каждого элемента можно было вызывать диалог выбора файла (стандартный), скажем, при нажатии на кнопку в конце поля (UITypeEditorEditStyle.Modal)?
Благодарю за отзыв.
С ув. Алексей.
Это сложная задача, но решаемая. Тебе нужно создать свой редактор. Но не надо переписывать PropertyGrid, просто необходимо сообщить ему о ручной обработке полей. Для этого тебе нужно создать производный от UITypeEditor класс. Нужно переопределить метод EditValue (для редактирования свойства). Вот в этом методе тебе надо вызывать модальный диалог выбора файла. А для того чтобы появилась кнопочка (...) при редактировании свойства, переопредели метод GetEditStyle и возвращай его значение, как UITypeEditorEditStyle.Modal. Для того, чтобы после ввода значения элемента массива в PropertyGrid появился новый элемент для ввода. Делай так: создай список List<string> myList, присваиваешь PropertyGrid.SelectedObject = myList.ToArray(). Далее добавляешь методом Add в список пустую строку и на событие PropertyValueChanged переназначаешь SelectedObject ещё раз на myList.ToArray(), таки образом будет появляться ещё одна пустая строка в ПГриде.