2009-03-03 6 views
0

Я создаю пользовательский элемент управления. Одно из свойств должно позволить конечному пользователю выбирать числовой тип данных, такой как int, short, long, double ....Пользовательский контроль с использованием свойства типа данных Выпуск

У меня возникла проблема выяснить, что использовать в качестве внутреннего типа собственности, поэтому что, когда пользователь выбирает параметр DataType в окне свойств, он дает им выпадающий список всех числовых типов.

Я пробовал несколько отклонений ... Этот ниже, когда скомпилирован, отображает свойство DataType как выделенное. Это не позволит мне выбрать или введите значение.

private System.ValueType _DataType; 
    public System.ValueType DataType 
    { 

     get { return _DataType; } 
     set 
     { 

      _DataType = value; 
     } 
    } 

Любая помощь приветствуется. Спасибо!

ответ

0

Редактор свойств не знает, как отредактировать тип. Самый простой способ исправить это - использовать тип, который он умеет редактировать, например, строку или перечисление. Enum, вероятно, лучше всего подходит к тому, что вы пытаетесь выполнить.

+0

Я бы предпочел не использовать перечисление, тем более, что числовые типы данных являются системными. Также перечисления не любят использовать зарезервированные слова. Их должен быть способ легко справиться с этим. ??? – Rick

+0

Я бы не назвал это легко, но вы можете создать собственный редактор для пользовательского типа в propertygird. http://msdn.microsoft.com/en-us/library/ms171840.aspx показывает, как это делается. – DefLog

0

В итоге я использовал перечисление - я думаю, что это должен быть лучший ответ, чем этот. Такая же функциональность обнаруживается при проектировании наборов данных в дизайнере. Когда вы выбираете тип данных, вы можете выбрать int и другие.