Member 12301682 Ответов: 2

Как создать свойство customer пользовательского элемента управления, которое позволит пользователю назначать переменную строкового типа во время разработки


How to create the customer property of user control that will enable the user to assign string type variable in design time


Что я уже пробовал:

How to create the customer property of user control that will enable the user to assign string type variable in design time

2 Ответов

Рейтинг:
1

OriginalGriff

Просто добавьте свойство к элементу управления:

public partial class MyUserControl : UserControl
    {
    public string MyProperty { get; set; }
    public MyUserControl()
        {
        InitializeComponent();
        }
    }
Как только вы его скомпилируете, он добавится в набор инструментов.
Поместите его в форму, и свойство появится в панели свойств как обычно.

Цитата:
Мой вопрос заключается в том, что в режиме разработки в области свойств "уровень безопасности" вместо значения int (0/1) я хочу назначить публичную переменную типа "int", скажем "user_level"

Если это то, что вам нужно, то просите об этом, когда задаете вопрос! :смеяться:

Это просто: используйте перечисление.
public partial class MyUserControl : UserControl
    {
    public string MyProperty { get; set; }
    public enum SecurityLevels
        {
        User = 0,
        Admin = 1,
        }
    public SecurityLevels SecurityLevel { get; set; }
    public MyUserControl()
        {
        InitializeComponent();
        }
    }


Member 12301682

Привет,
Я уже настроил пользовательское свойство типа "int" как "уровень безопасности" в своем пользовательском элементе управления. При 0 элемент управления будет включен, а при 1 элемент управления будет отключен. Это прекрасно работает.
Мой вопрос заключается в том, что в режиме разработки в области свойств "уровень безопасности" вместо значения int (0/1) я хочу назначить публичную переменную типа "int", скажем "user_level"

Спасибо

Рейтинг:
1

RickZeeland

В дополнение к ответу 1 вы также можете добавить атрибуты, например:

[Category("Appearance"), Description("Sets/Gets rotated text"), DefaultValue(typeof(string), ""), Bindable(true)]
public string RotatedText
{
    get
    {
        return (rotatedtextstring);
    }

    set
    {
        if (rotatedtextstring != value)
        {
            rotatedtextstring = value;
            this.Refresh();
        }
    }
}

Это взято из RoundedButton контроль, смотрите пример здесь: RoundedButton Control - Демистифицирующий DrawArc[^]