Управление пользовательскими свойствами - PullRequest
2 голосов
/ 31 мая 2011

Я только что узнал о пользовательских элементах управления в C # (оконные формы). Я создал приведенный ниже пользовательский элемент управления, как вы можете видеть, у меня есть свойство с именем «Test», которое должно быть установлено в значение enum EnumTest - это рабочий поиск, за исключением того, что я хотел бы, чтобы пользователь элемента управления выбрал более одного свойства, поэтому свойство "Test" может быть:

Test = EnumTest.TopLeft | EnumTest.TopRight;

Возможно ли это - и если да, то как, так как раскрывающийся список в свойствах позволяет мне выбрать только одно перечисление в списке. Также, если возможно, мне нужно обнаружить, что если пользователь установит «Нет», то это будет один выбор, а не множественный выбор.

namespace WindowsFormsApplication1
{
    public partial class myControl1 : Control 
    {
        public enum EnumTest
        {
            None = 0,
            TopLeft = 1,
            TopRight = 2,
            BottomLeft = 4,
            BottomRight = 8,
            All = TopLeft | TopRight | BottomLeft | BottomRight
        }
        public UserControl1() {
            InitializeComponent();
        }

        public EnumTest Test {
            get;
            set;
        }
    }
}

Большое спасибо за любую помощь в этом.

Ответы [ 2 ]

2 голосов
/ 31 мая 2011

Добавьте [Flags] к вашему перечислению, чтобы указать, что оно принимает несколько значений.

Я не помню, знает ли сетка свойств перечисления [Flags];если нет, вам нужно написать UITypeEditor.

0 голосов
/ 31 мая 2011

Не было ли атрибута enum для указания перечислений флагов? Подожди, я смотрю в это ...

Эй, что ты знаешь: они назвали атрибут [Flags]! Это должно быть легко запомнить в следующий раз ...

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