Форум программистов, компьютерный форум, киберфорум
Visual Studio, VS Code
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
2 / 2 / 2
Регистрация: 05.09.2018
Сообщений: 183

Уменьшить зазор между байтами данных в textBox

23.12.2021, 10:54. Показов 1835. Ответов 15

Студворк — интернет-сервис помощи студентам
Всем привет! Написал управляющую программу для считывания параметров с контроллера. Данные приходят, всё работает, но иногда длинна пакетов очень большая, из-за этого они не попадают в область видимости.
Можно ли как то сократить интервал (пробел) между байтами? Скриншот прилагаю
Миниатюры
Уменьшить зазор между байтами данных в textBox  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.12.2021, 10:54
Ответы с готовыми решениями:

Зазор между разделами
Как мне сделать зазор между теста? с помощью css. с помощью padding не получается.

Зазор между картинкой и контейнером
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Изображения по вертикали</title> <style> div { ...

Как убрать зазор между IMG
Здравствуйте. Столкнулся с зазором между img. Как убрать? <div class="menu"> <a href="index.html"> <img...

15
фрилансер
 Аватар для Алексей1153
6464 / 5676 / 1131
Регистрация: 11.10.2019
Сообщений: 15,117
23.12.2021, 10:56
Лучший ответ Сообщение было отмечено iaz5 как решение

Решение

iaz5, замени табуляцию на таки пробел )

Добавлено через 32 секунды
и моноширинные шрифты в помощь
1
2 / 2 / 2
Регистрация: 05.09.2018
Сообщений: 183
23.12.2021, 11:16  [ТС]
Цитата Сообщение от Алексей1153 Посмотреть сообщение
замени табуляцию на таки пробел
А как это сделать? Если поделитесь ссылкой на источник или пример, буду очень признателен

Вот параметры, которые заданы для TextBox:
C#
1
2
3
4
5
6
7
8
9
            this.tBoxDataIN.Dock = System.Windows.Forms.DockStyle.Bottom;
            this.tBoxDataIN.Location = new System.Drawing.Point(3, 19);
            this.tBoxDataIN.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
            this.tBoxDataIN.Multiline = true;
            this.tBoxDataIN.Name = "tBoxDataIN";
            this.tBoxDataIN.ScrollBars = System.Windows.Forms.ScrollBars.Both;
            this.tBoxDataIN.Size = new System.Drawing.Size(437, 119);
            this.tBoxDataIN.TabIndex = 4;
            this.tBoxDataIN.WordWrap = false;
0
фрилансер
 Аватар для Алексей1153
6464 / 5676 / 1131
Регистрация: 11.10.2019
Сообщений: 15,117
23.12.2021, 11:31
Цитата Сообщение от iaz5 Посмотреть сообщение
this.tBoxDataIN.TabIndex = 4;
я дотнет не знаю, но вот это очень похоже на эти 4 пробела

а вообще, не знаю, как там в .NET устроено текстовое окно, обычно это просто текст

Добавлено через 1 минуту
то есть, например
00 00 00\n00 00 00\n00 00 00\n
1
3259 / 3278 / 556
Регистрация: 17.02.2019
Сообщений: 5,187
23.12.2021, 18:34
iaz5, скорей всего надо посмотреть где выводит в TextBox , почему пробелы выскакивают. Что то там происходит.
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
23.12.2021, 20:50
Алексей1153, TabIndex не влияет на вывод текста. Он определяет порядок перехода между элементами управления по нажатию Tab.

iaz5, показывайте код формирования строки и вывода в textBox.
1
2 / 2 / 2
Регистрация: 05.09.2018
Сообщений: 183
24.12.2021, 07:28  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
показывайте код формирования строки и вывода в textBox
Прилагаю:

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
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)//Прилетели данные на RX
        {
            //dataIN = serialPort1.ReadExisting();
            List<int> dataBuffer = new List<int>();
            List<int> BdataBuffer = new List<int>();
           
            while (serialPort1.BytesToRead>0)
            {
                try
                {
                    dataBuffer.Add(serialPort1.ReadByte());
 
                }
                catch (Exception error)
                {
                    MessageBox.Show(error.Message);
                }
            }
            dataINLength = dataBuffer.Count();
            dataInDec = new int[dataINLength];
            dataInDec = dataBuffer.ToArray();
 
            this.Invoke(new EventHandler(ShowData));          
            this.Invoke(new EventHandler(CRC_control));
            //ResponseDataflag = 0;
          
        }
Функция ShowData:
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
private void ShowData(object sender, EventArgs e)
        {
            //int dataINLength = dataIN.Length;
            dataIN = RxDataFormat(dataInDec);
 
           lblDataInLength.Text = string.Format("{0:00}", dataINLength);
            if(tScBoxShowDataWith.Text=="Always Update")
            {
                tBoxDataIN.Text = dataIN;
            }
            else if (tScBoxShowDataWith.Text== "Add to Old Data")
            {
                if(tScBoxDataPosition.Text=="TOP")
                {
                    tBoxDataIN.Text = tBoxDataIN.Text.Insert(0, dataIN);
                }
                else if(tScBoxDataPosition.Text=="BOTTOM")
                {
                    tBoxDataIN.Text += dataIN;
                    tBoxDataIN.Text += "\r\n";                  
                    
                }
 
 
            }
        }
Функция: RxDataFormat:
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
32
33
34
       private string RxDataFormat(int[] dataInput)
        {
            string strOut = "";
            if(tScBoxDataFormat.Text=="Hex")
            {
                foreach(int element in dataInput)
                {
                    strOut += Convert.ToString(element, 16) + "\t";
                }
            }
            if (tScBoxDataFormat.Text == "Decimal")
            {
                foreach (int element in dataInput)
                {
                    strOut += Convert.ToString(element) + "\t";
                }
            }
            if (tScBoxDataFormat.Text == "Binary")
            {
                foreach (int element in dataInput)
                {
                    strOut += Convert.ToString(element,2) + "\t";
                }
            }
            if (tScBoxDataFormat.Text == "Char")
            {
                foreach (int element in dataInput)
                {
                    strOut += Convert.ToChar(element);
 
                }
            }
            return strOut;
        }
Вроде бы всё. Я тут, конечно, сделал, что данные могут выводиться в Hex, Decimal, Binary, Char, но меня интересует только hex. Я просто подумал может textbox автоматически правит ширину столбца под число знаков для двоичного вывода и если лишнее убрать, то столбцы стянутся друг к другу. Не проверял, просто мысли в слух
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
24.12.2021, 07:31
В методе RxDataFormat табы вставляете \t...
0
2 / 2 / 2
Регистрация: 05.09.2018
Сообщений: 183
24.12.2021, 07:33  [ТС]
Цитата Сообщение от iaz5 Посмотреть сообщение
"\t"
Выложил код и сразу увидел причину своих проблем
Убрал табуляцию, теперь отображается как и хотел. Прикладываю скриншот
Миниатюры
Уменьшить зазор между байтами данных в textBox  
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
24.12.2021, 09:28
iaz5, ещё не помешало бы выровнять контролы, а то как по-пьяне набросаны)
0
2 / 2 / 2
Регистрация: 05.09.2018
Сообщений: 183
24.12.2021, 10:16  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
ещё не помешало бы выровнять контролы, а то как по-пьяне набросаны)
Вы про что именно, понять не могу
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
24.12.2021, 10:38
iaz5, добрая половина контролов (кнопок, метод и тд) не по сетке, криво относительно друг друга расположены. Прямо глаз режет. Левый. Он лучше видит.
0
2 / 2 / 2
Регистрация: 05.09.2018
Сообщений: 183
24.12.2021, 10:41  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
добрая половина контролов (кнопок, метод и тд) не по сетке, криво относительно друг друга расположены. Прямо глаз режет. Левый. Он лучше видит.
А, понял. Да, действительно, всё вкривь-вкось, но я не знаю как по сетке выравнивать, делал всегда на глаз (как видно, результат не очень )
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,405
24.12.2021, 11:40
iaz5, вообще, в дизайнере студии, при перетаскивании контролов, они "прилипают" к направляющим, которые формируются от рядом стоящих конторолов. Я не понимаю, как вы это не заметили)
0
2 / 2 / 2
Регистрация: 05.09.2018
Сообщений: 183
24.12.2021, 12:23  [ТС]
Идет выравнивание по веркитали и по горизонтали, но не фиксируется расстояние между блоками, как в Visio например
Миниатюры
Уменьшить зазор между байтами данных в textBox  
0
3259 / 3278 / 556
Регистрация: 17.02.2019
Сообщений: 5,187
24.12.2021, 18:01
Лучший ответ Сообщение было отмечено iaz5 как решение

Решение

Цитата Сообщение от iaz5 Посмотреть сообщение
но я не знаю как по сетке выравнивать
ну это просто, вот в строке Меню выбрать Формат и там
Кликните здесь для просмотра всего текста

или так, в строке Меню выбрать Вид > Панели инструментов > Макет
Кликните здесь для просмотра всего текста

и появится вот это в красном прямоугольнике. Ну дальше дело техники.
Кликните здесь для просмотра всего текста

Желаю удачи в разработки проектов.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.12.2021, 18:01
Помогаю со студенческими работами здесь

Зазор между радиатором и процессором видеокарты
Видяха GeForce G430. Если вытереть всю термопасту, то при прикручивании радиатора зазор между ним и камнем около 1 мм. Тонкий слой...

Убрать зазор между шапкой и рисунками
я делаю сайт в блокноте в табличпом стиле, помогите убрать зазор между шапкой и рисунками с надписью &quot;реклама&quot; и &quot;меню...

Как убрать зазор между картинками?
Есть следующий код: &lt;body&gt; &lt;p&gt;some paragraph, it could be&lt;br/&gt;big or small, whatever.&lt;/p&gt; &lt;div style=&quot;width: 400px&quot;;&gt; ...

Как убрать зазор между меню и контентом
Всем привет! Подскажите пожалуйста где в стилях допущена ошибка?Появился зазор между меню и страницей сайта.Вот как это выглядит! {битая...

Убрать зазор между div и верхом страницы
День добрый, господа! Есть у меня страница, на которой всего лишь один блок div, выравненный по центру. Но почему-то сверху и снизу...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru