Можно предположить выравнивание структуры, если вы знаете больше деталей об используемых параметрах компилятора. Например, #pragma pack (1) принудительно выровняет на уровне байтов для некоторых компиляторов.
Дополнительное примечание: я знаю, что вопрос был о выравнивании, но дополнительным вопросом является заполнение. Для встроенного программирования, двоичных данных и т. Д. В общем, не принимайте во внимание выравнивание структуры, если это возможно. Скорее используйте явное заполнение, если необходимо в структурах. У меня были случаи, когда было невозможно дублировать точное выравнивание, используемое в одном компиляторе, на компилятор на другой платформе без добавления элементов заполнения. Это было связано с выравниванием структур внутри структур, поэтому добавление дополнительных элементов исправило это.
Другой возможный вариант - вы случайно разместили кнопки не прямо на форме. Вместо этого вы помещаете их в какой-то контейнер (например, панель, tableLayoutPanel и т. Д.), И этот контейнер не установил правильные значения привязки или закрепления.
Просто чтобы быть абсолютно уверенным, вам следует заглянуть в designer.cs и проверить если ваши кнопки добавлены непосредственно в форму функцией this.Controls.Add ()
или если они добавлены в любой другой список элементов управления (например, panel.Controls.Add ()
]).
Какое значение установлено для свойства Dock? Это может свести на нет свойства якоря.