Эта проблема лучше продемонстрирована, чем объяснено, поэтому я создал git repo с проектом Visual Studio 2010, который будет использоваться для см. вопрос в действии.
У меня есть проект, в котором я добавил элемент управления ComboBox (comboField) в элемент управления TableLayout (tableLayoutPanel1). Я установил свойство Dock для ComboBox на Fill, чтобы он заполнил ячейку элемента управления TableLayout, в который он был помещен. Я также установил свойство Dock элемента управления TableLayout на Fill, чтобы заполнить форму, на которую она была помещена. Ширина ComboBox в настоящее время составляет 193 пикселя.
Когда я запускаю форму и увеличиваю ее ширину, размер ComboBox увеличивается, как и ожидалось. Когда я уменьшаю размер формы, ComboBox уменьшает размер до тех пор, пока не достигнет первоначального размера (193 пикселя). В этот момент ширина ComboBox больше не будет уменьшаться, в результате чего правая часть элемента управления будет обрезана. Это противоречит тому, что я ожидал бы: ширина ComboBox будет уменьшаться до нуля, если не указано значение MinimumSize. Также не указано MinimumSize для любого из других элементов управления в форме, например, для элемента управления TableLayout.
В случае, если это имеет значение, ширина первого столбца TableLayout имеет значение Absolute размером 100 пикселей, а ширина второго столбца таблицыLayout установлена равной AutoSize.
Может ли кто-нибудь пролить свет на то, почему эта форма ведет себя вопреки моим ожиданиям и подсказывает, как я могу заставить это работать так, как я хочу? Любая помощь будет высоко оценена.
