Получение неправильного размера при передаче прямоугольника в AdjustWindowRectEx () в рамках 4.0? - PullRequest
1 голос
/ 26 марта 2020

Я создаю пользовательскую форму. Я попытался получить размер окна. Я передал прямоугольник (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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...