Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Задание массива запросов файлов PropertyGrid

17K
16 августа 2006 года
Ner'zhul
11 / / 16.08.2006
Ув. эха.
У меня такая проблема, как сделать сабж. Причем, чтобы список был бесконечным(при добавлении предыдущегооткрывался сделующий), и для каждого элемента (типа UITypeEditorEditStyle.Modal) Можно было запускать диалог выбора файла.

Буду благодарен за Виши соображения по этому поводу.

С ув. Алексей.
273
20 августа 2006 года
3A3-968M
1.2K / / 22.12.2005
[quote=Ner'zhul]Причем, чтобы список был бесконечным(при добавлении предыдущегооткрывался сделующий)[/quote]
Популярней можно, а то чё то не совсем вкурил...
17K
22 августа 2006 года
Ner'zhul
11 / / 16.08.2006
Ув. Заз.
К примеру у меня есть массив строк, который есть тип опции. В ПГрид она высвечивается, как группа элементов, но вводить можно в стандартном диалоге. Так вот, потом после нажатия на плюсик снизу раскрывается список элементов этого массива. Как сделать так, чтобы:
1. Не вызывался стандартный диалог вывода, а при введении в списке одного элемента добавлялось новое поле для ввода следующего?
2. Для каждого элемента можно было вызывать диалог выбора файла (стандартный), скажем, при нажатии на кнопку в конце поля (UITypeEditorEditStyle.Modal)?

Благодарю за отзыв.
С ув. Алексей.
273
23 августа 2006 года
3A3-968M
1.2K / / 22.12.2005
Это сложная задача, но решаемая. Тебе нужно создать свой редактор. Но не надо переписывать PropertyGrid, просто необходимо сообщить ему о ручной обработке полей. Для этого тебе нужно создать производный от UITypeEditor класс. Нужно переопределить метод EditValue (для редактирования свойства). Вот в этом методе тебе надо вызывать модальный диалог выбора файла. А для того чтобы появилась кнопочка (...) при редактировании свойства, переопредели метод GetEditStyle и возвращай его значение, как UITypeEditorEditStyle.Modal. Для того, чтобы после ввода значения элемента массива в PropertyGrid появился новый элемент для ввода. Делай так: создай список List<string> myList, присваиваешь PropertyGrid.SelectedObject = myList.ToArray(). Далее добавляешь методом Add в список пустую строку и на событие PropertyValueChanged переназначаешь SelectedObject ещё раз на myList.ToArray(), таки образом будет появляться ещё одна пустая строка в ПГриде.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог