Я создаю пользовательскую форму. Я попытался получить размер окна. Я передал прямоугольник (0,0,0,0) в AdjustWindowRectEx (). Я получил неправильный прямоугольник (-3,26,3,3). Эта проблема возникает только тогда, когда проект открыт в платформе 4.0, и форма границ стиля является фиксированной одиночной. В то время как для работы с рамой 4.6 значение прямоугольника равно (-8,31,8,8). Я не знаю, как это работает. Эта проблема возникает только при работе с фреймами 4.0, а пограничный стиль является фиксированным. Пожалуйста, найдите фрагмент кода ниже.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.FormBorderStyle = FormBorderStyle.FixedSingle;
Rectangle rectangle = new Rectangle(0, 0, 0, 0);
AdjustWindowRectEx(ref rectangle, this.CreateParams.Style, false, this.CreateParams.ExStyle);
}
[DllImport("User32.dll", CharSet = CharSet.Auto)]
static extern bool AdjustWindowRectEx(ref Rectangle rc, Int32 dwStyle, bool bMenu, Int32 dwExStyle);
}