Мое предложение, если пробел является проблемой, к которой не допущен @ rmc00, поместите кнопку в конце текстового поля только для чтения, возможно, с символом elipse (...) или стрелкой вниз (такой же, как со списком), как текст текста.При нажатии кнопки или MouseDown сделать видимым и расположить CheckBoxList или открыть всплывающее диалоговое окно с CheckBoxList таким образом, вы можете либо предварительно заполнить во время разработки, либо передать DataTable в качестве параметра / свойства своему элементу управления / форме, чтобы он был привязан к данным во время выполнения.Вы всегда можете поместить свой элемент управления или написать код, чтобы расположить элемент управления / форму точно под TextBox в событии MouseDown / Click.При изменении проверки обновите текстовое поле списком, разделенным запятыми (или подумайте, если в текстовом поле содержится более 3 элементов, список может храниться в теге, а в текстовом поле может быть проверено количество элементов).Наконец, в LostFocus скрывайте элемент управления (или форму), и далее, если вы хотите придать фантазии, сделайте исключение, чтобы не скрывать, когда ActiveControl является кнопкой, чтобы вы могли переключать видимость последовательных нажатий кнопок.