Я не могу воспроизвести это точно. Первая возможная проблема заключается в том, что это похоже на унаследованную форму, это может вызвать проблемы, если элементы управления в базовой форме имеют набор привязки с включенным нижним или правым анкером. Который позиционирует элемент управления на основе размера базовой формы, а не унаследованной формы. Исправьте это, только включив эти якоря в производной форме.
Во-вторых, и, более вероятно, проблема заключается в том, что вы боретесь с проблемой appcompat в Aero. Жирные границы являются значительной проблемой в Aero, так как приложение определяет размер внешнего окна. Но действительно заботит размер внутреннего окна, размер клиентского прямоугольника. Если Aero не справится с этим, окно будет иметь слишком маленькую клиентскую область, не оставляя достаточно места для элементов управления. Он делает это , лежащий о размере окна, тайно делая его больше, чем попросил приложение. А затем, когда вы спрашиваете размер, сообщите меньший размер, чем на самом деле.
Ваше переопределение CreateParams превращается из-за нестандартных стилей окна. Соответственно, клиентская область окна меньше по размеру границ, по умолчанию 6 пикселей.
Эта ложь вызывает множество других тонких проблем, трудно получить, например, выравнивание окон. Эта проблема была наконец решена в .NET 4.5, первой версии .NET, которая больше не нуждается в поддержке XP. И поэтому больше не нужна ложь. Он отмечает EXE-файл вашей программы как требующий Vista или выше. Который отвращает ложь.
Неясно, из какого вопроса вы хотите идти. В таком случае, вероятно, лучше всего просто увеличить размер окна. Вы делаете это в методе формы в OnLoad(), что-то вроде этого:
protected override void OnLoad(EventArgs e) {
this.ClientSize = new Size(NoButton.Right + 10, NoButton.Bottom + 10);
base.OnLoad(e);
}
На скриншоте дизайн, что чуть ниже этикетке «Вы хотите установить»? – DonBoitnott
У меня есть индикатор выполнения ниже этой метки. –
Позвольте мне проверить, что sir –