Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
13 / 9 / 6
Регистрация: 12.10.2020
Сообщений: 166

Динамичное изменение masketBox.Mask

17.10.2020, 17:14. Показов 868. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех!
У меня есть textBox1 в который вводится десятичное число. Есть событие texBox1_TextChanged, в котором выполняется перевод числа из textBox1 в двоичную с.с. и результат записывается в textBox2. И у меня есть maskedBox1, в котором записывается тоже самое двоичное число из textBox2, но с разделением на байты (textBox2 = 10101010101000; maskedBox1 = 10101010 101000).
Был вариант увеличивать стартовую маску через цикл for, но это слишком топорно и работает только в одну сторону:
C#
1
2
3
4
5
 String bin = textBox2.Text;
            for (int i =0; i< Convert.ToInt32(bin.Length/8); i++)
            {
                maskedTextBox1.Mask += " 00000000";
            }
при чём происходит лишнее чрезмерно большое увеличение маски.
Пока создавал тему решил просто изменять маску через присваивание нового значения, но
C#
1
maskedTextBox1.Mask = countOfLenght * " 00000000";
не сработало. Как можно его изменить, чтобы всё работало?

Добавлено через 18 минут
Решил додумать через цикл for:
C#
1
2
3
4
5
6
7
8
9
10
11
 maskedTextBox1.Mask = "0000";
            String bin = binaryBox.Text;
            double countOfLenght_double = bin.Length / 4;
            int countOfLenght = Ceiling(countOfLenght_double);
            for (int i =0; i< countOfLenght; i++)
            {
                if (countOfLenght == 0||countOfLenght == 1) maskedTextBox1.Mask = "0000";
                else
                maskedTextBox1.Mask += " 0000";
            }
            maskedTextBox1.Text = binaryBox.Text;
Вроде как получилось, но нужно доработать округление countOfLenght в большую сторону (т.е. сейчас при countOfLenght_double = 1.25 countOfLenght округляется до 1, хотя мне нужно округление до 2)

Добавлено через 2 часа 30 минут
Реализовал следующим образом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Сброс маски
            maskedTextBox1.Mask = "0000";
 
            //Количество "разрядов"
            String bin = binaryBox.Text;
            double countOfLenght = (double) bin.Length / 4;
            countOfLenght = Math.Ceiling(countOfLenght);
            
            //Заполнение маски
            for (int i =0; i< countOfLenght-1; i++)
            {
                if (countOfLenght <= 0||countOfLenght == 1) maskedTextBox1.Mask = "0000";
                else
                maskedTextBox1.Mask += " 0000";
            }
Ещё бы сделать удаление лишних ProntChar "_" для лучшего вида.
P.s. сделал разделение по полубайтам, т.к. легче читается
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2020, 17:14
Ответы с готовыми решениями:

Динамичное изменение данных при выборе пользователя
Ребят, как сделать чтобы при выборе опередленной кнопки менялись значения в таблице, например 2 кнопки: &quot;физические лица&quot; и...

Динамичное изменение системы координат под размер окна
Не могу решить проблему, определяется главное окно parentHWnd = static_cast&lt;HWND&gt;(systemWindow); далее создаётся в нём дочернее ...

Нюансы синтаксиса: statement for - как понимать запись for (count=0, mask=1; count != 16; count++, mask<<= 1)?
Много всяких языков попадалось, относительно много конечно, но такое вижу первый раз, что бы тело FOR имело не 3 оператора - начальный,...

1
13 / 9 / 6
Регистрация: 12.10.2020
Сообщений: 166
19.10.2020, 19:28  [ТС]
Благодарю человека с ником Kyra90 за оптимальное решение:

Уменьшить маску maskedBox
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2020, 19:28
Помогаю со студенческими работами здесь

Динамичное SUMIF
Здравствуйте. Затрудняюсь в решение своей задачи , гугл не гугл , плохо получается реализовать идею... Вообщем Прошу помощи :) Лист...

Динамичное заполнение radiobutton
У меня есть 6 radiobuttonов, через цикл я получаю к каждому вопросу разное количество ответов.Не подскажете как организовать логику по...

Динамичное отталкивание обьекта
У меня есть платформер 2D, а в платформере игрок и когда он соприкасается с врагом его должно оттолкнуть назад, я конечно смог это сделать...

Динамичное заполнение объектов
Здравствуйте, недавно перешёл на WPF с WinForm, и сразу же столкнулся с проблемкой, на WinFom'ах есть такой элемент , как timer с помощью...

Динамичное задание имён методам
Добрый день! Подскажите как реализовать System.EventHandler(PictureBoxes_Click); отдельно для каждого элемента? т.е. field_0 --&gt;...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru