Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 2
Регистрация: 02.02.2015
Сообщений: 42

Ограничение значения для UserControl

26.01.2018, 05:02. Показов 916. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Тема такая, есть кастомная кнопка с изменяемым кол-вом сторон:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    public class SuperButton : Button
    {
        private int sides = 3;
 
        public int Sides
        {
            get => sides;
            set
            {
                if (sides > 2)
                {
                    sides = value;
                    Invalidate();
                }
            }
        }
    }
при добавлении на форму в Properties появляется мое свойство, как ограничить его, что бы нельзя было поставить меньше 3?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.01.2018, 05:02
Ответы с готовыми решениями:

Как разместить UserControl поверх другого UserControl
Такая задача. Есть форма. На ней размещена панель panelRight. Также есть два пользовательских контрола (TimelineControl() и Bar()). Потом в...

Не сохраняются значения свойств заданные в дизайнере после создания своего UserControl с дополнительными свойствами
using System.ComponentModel; using System.Windows.Forms; namespace Library { public partial class CellControl : UserControl ...

Не сохраняются значения в свойстве своего UserControl в режиме конструктора форм, когда я его использую в другом проекте
Ситуация: я создал свой контрол, который содержит TextBox и добавил несколько свойств. Далее я этот свой контрол подключил во втором...

1
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
26.01.2018, 07:53
Нужно реализовать свой конвертер типа для этого свойства, в котором и обрабатывать ошибки ввода:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class SuperButton:Button
{
    private int sides = 3;
    [DefaultValue(3), TypeConverter(typeof(SidesConverter))]
    public int Sides
    {
        get => sides;
        set
        {
            if (sides > 2)
            {
                sides = value;
                Invalidate();
            }
        }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System.ComponentModel;
using System.Globalization;
internal class SidesConverter : TypeConverter
{
    public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
    {
        return ((sourceType == typeof(string)) || base.CanConvertFrom(context, sourceType));
    }
 
    public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
    {
        if (!(value is string))
        {
            return base.ConvertFrom(context, culture, value);
        }
        var result = 3;
        try
        {
            result = Convert.ToInt32(value);
        }
        catch (FormatException ex)
        {
            throw new FormatException($"Значение {value} недопустимо");
        }
        if (result < 3)
        {
            throw new FormatException($"Значение должно быть больше 3");
        }
        return result;
    }
}
Тогда при вводе неправильных значений будет показываться стандартное сообщение о неправильном значении свойства:
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.01.2018, 07:53
Помогаю со студенческими работами здесь

Ограничение ввода числового значения
Ребят помогите пожалуйста.Как мне в форму рост и вес сделать ограничение что бы можно было только вводить от 1 до 300 к примеру а 301 уж...

Перенос данных из UserControl в UserControl
Всем привет ! :) Суть проблемы следующая: • Есть 2 UserControl “V” и “MN” • В “V” есть textBox “Vso2” с названием...

Массив для UserControl
Можно ли занести UserControl в массив, чтобы когда запускался цикл при нужном условии добавлялся нужный UserControl или же на UserControl...

UserControl для Debug/Release
И еще раз всем привет. Делаю проект на Windows Forms. К нему в Class Library делаю UserControl. По совету в основной проект...

Где и для чего применяется контрол Usercontrol
Где и для чего применяется контрол Usercontrol ? Как и когда правильно его применять?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru