У меня есть приложение WinForm. Нужен список пользовательских правил. Внутри каждого правила будет список текстовых элементов (также вводимых пользователем).
В настоящее время у меня есть сетка (SourceGrid). Каждый ряд - это правило.
В каждом правиле у меня есть текстовое поле, позволяющее пользователю вводить несколько текстовых элементов (на экране показан пример нескольких регулярных выражений).

У меня есть пользователь, который вводит символ табуляции, чтобы отделить каждый элемент. Некоторые правила могут содержать один элемент, а некоторые могут содержать 10 элементов. Вот почему я думаю, что проще использовать только одно текстовое поле и позволить пользователю самим разделять элементы.
Однако теперь я обнаружил, что символ табуляции довольно ограничен, потому что иногда элементы находятся на расстоянии 1 символа, а иногда и больше. (на скриншоте трудно отличить первый и второй элемент, просто по счастливой случайности).
Я думал о том, чтобы персонаж-табуляция делал два элемента на фиксированном расстоянии друг от друга. Нет, это невозможно. Я не хочу использовать другие символы-разделители, потому что это делает все это менее читабельным. Я также не хочу кодировать, чтобы динамически создавать больше столбцов. Я думал об этих полях IP-адресов для входа пользователя, но они не являются встроенными и не могут быть разными по ширине.
Я хочу спросить, есть ли лучший способ представить это без кодирования элемента управления с нуля? Или можно использовать специальный более широкий пробел в качестве разделителя для предметов? Спасибо.