Я создал то, что я называю «LabeledTextBoxWithLookupControl», который наследуется от UserControl. Я поместил несколько таких элементов управления в форму.
Теперь я начинаю думать, что это плохая идея.
Когда я вызываю TopLevelControl.SelectNextControl(this, true, true, true, true)
из события KeyPress
, назначенного TextBox в UserControl, он фактически выбирает следующий UserControl, где я на самом деле хочу, чтобы он выделил текстовое поле внутри следующего пользовательского элемента управления. Свойство CanCelect UserControl возвращает значение true, но я не вижу простого способа изменить стиль элемента управления UserControl.
Кроме того, когда я использую режим Tab Tab, я бы предпочел, чтобы он не рассматривал сам пользовательский элемент управления, а просто TextBox внутри UserControl в качестве кандидата на порядок вкладок. Должен ли я переопределить свойства TabIndex и TabStop в UserControl и заставить их указывать на TabIndex и TabStop в TextBox?
Кроме того, должен ли я предоставлять только свойства самих элементов управления или каждый элемент управления должен быть представлен как свойство для установки этих свойств, которые я хочу иметь возможность устанавливать, таких как свойство Text элемента управления меткой, событие click LookupControl и свойство Text элемента TextBox.