Есть ли какая-либо документация о том, насколько толстая граница правильной формы?
Цель:
я создал пользовательский элемент управления шириной 800 пикселей. Я хочу создать всплывающее окно (в целом нормальную форму) с новым экземпляром в полном разрешении (800 пикселей - все видно).
Моя проблема: настройка формы на Form.Size.Width = 800
не поможет. Похоже, что граница формы включена в свойство ширины формы. Мне нужно вычесть эту границу.
Должно быть что-то вроде: 2px + 800px + 2px
Если вы хотите увидеть какой-то код, скажите мне, но я думаю, что здесь он не нужен.
ИЗМЕНИТЬ:
После открытия элемента управления:
Код всплывающего окна:
private void buttonPopup_Click(object sender, EventArgs e)
{
Form MyPopup = new Form();
customControl MyUserControl = new customControl();
MyUserControl.Dock = DockStyle.Fill;
Rectangle rc = MyUserControl.RectangleToScreen(MyUserControl.ClientRectangle);
//int thickness = SystemInformation.Border3DSize.Width;
//MyPopup.MaximumSize = new Size(MyUserControl.Size.Width + (thickness*2), 1500);
MyPopup.Controls.Add(MyUserControl);
MyPopup.MaximumSize = new Size(rc.Width, rc.Height);
MyPopup.Show();
}
Я имею в виду, что ваш код выглядит логичным для меня. Но все равно результат тот же. userControl
отображается немного меньше. Я знаю, что использовал dock = fill
, где моя кнопка не была профессионально размещена внутри макета. Но помимо этого должно быть решение, заключающееся в том, чтобы просто установить правильный размер.
SystemInformation
и свойствоClientRectangle
- person Dmitry Bychenko   schedule 20.08.2015ClientSize
(размер формы исключая границы, заголовок и т.д.).MyPopUp.ClientSize = new Size(...);
вместоMaximumSize
- person Dmitry Bychenko   schedule 20.08.2015