С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для Remmor
71 / 71 / 23
Регистрация: 02.02.2012
Сообщений: 309

PropertyGrid и ограничение выбора из enum

05.05.2017, 18:13. Показов 1917. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый!

Кто нибудь сталкивался с таким:

Использую PropertyGrid для редактирования свойств класса пользователем, есть enum, нужно дать пользователю выбрать не все значения, а только некоторые.

Все сделал как в примере: http://stackoverflow.com/quest... opertygrid

Все работает, но если пользователь делает выбор из предложенного списка, то получаю такую ошибку:
Недопустимое значение свойства.
Невозможно преобразовать объект типа "System.String" к типу "WindowsFormsApplication1.AnimalSpecies" .
Т.е. я сделал отдельный проект, в котором повторил рекомендации и получил туже ошибку, цитата от туда.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2017, 18:13
Ответы с готовыми решениями:

QdateEdit ограничение выбора
Добрый день. Подскажите плиз как в поле QadteEdit ограничить выбор текущей датой. Чтобы можно было ввести дату только в диапазоне...

Ограничение выбора в контекстном меню
Есть несколько документов "Приходная накладная" и "Расходная накладная". При проведении приходной все товары должны поступать на склад...

Ограничение выбора подстанов в таблице
Добрый день, при создании базы данных возникла потребность ограничить выбор подстанов в поле таблицы, т.е. есть категория товара, например,...

3
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18250 / 14174 / 5366
Регистрация: 17.03.2014
Сообщений: 28,850
Записей в блоге: 1
06.05.2017, 01:43
Лучший ответ Сообщение было отмечено Remmor как решение

Решение

Remmor, насколько я понимаю в примере на SO дана неполная реализация наследования TypeConverter. В документации сказано что:
To support custom type conversion, override the CanConvertFrom, CanConvertTo, ConvertFrom, and ConvertTo methods.
1
 Аватар для Remmor
71 / 71 / 23
Регистрация: 02.02.2012
Сообщений: 309
06.05.2017, 10:21  [ТС]
OwenGlendower, Спасибо, это то что нужно. Причем я интуитивно переопределял методы ConvertFrom и ConvertTo, но это не помогало, а почитать и переопределить еще и методы Can... не догадался

Действительно нужно переопределить CanConvertFrom {return true} и ConvertFrom {свой метод конвертации}. Два других не нужно трогать, из enum в string отлично работают базовые методы.
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
06.05.2017, 10:31
Remmor, тебе нужно дополнительно переопределить два метода:
C#
1
2
3
4
5
6
7
8
9
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
{
    return sourceType == typeof(string);
}
 
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
    return Enum.Parse(typeof(AnimalSpecies), value.ToString());
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.05.2017, 10:31
Помогаю со студенческими работами здесь

Ограничение выбора из выпадающего списка
Уважаемые знатоки access! Помогите советом в следующем вопросе: На форме есть выпадающий список на основе таблицы и поле....

Ограничение выбора в ListBox при множественном выборе
Друзья! Подскажите пожалуйста, как ограничить выбор до трёх включительно элементов, в ListBox при множественном выборе. Например в ListBox...

Обобщения, где в качестве параметра enum (класс наследник Enum)
Хочу создать такой класс: public class Example <Y extends Enum> { ... } А потом: enum Ex { a, b, c; } ...

Enum или enum class и где его располагать
Для удобства хочу сделать перечисление уровней через enum. Но запутался, как правильно. Просьба подсказать простым языком. 1. В чём...

Enum? как к объектам enum дать значения?
Здравствуйте для элементом enum только с помощью конструкторов и set могу дать значения? и еще enum это класс? ]public enum GameLevel { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru