VB.Net Forms - формы MDI расположены неправильно - PullRequest
0 голосов
/ 03 января 2012

У меня проблема с формами MDI и их расположением.У меня есть контейнерная форма, в которой я открываю несколько дочерних форм.Также обратите внимание, что в форме контейнера у меня есть ToolStrip наверху, и он также пристыкован к вершине.В каждой из дочерних форм я установил следующие свойства.Я также установил их во время разработки, но по какой-то причине это не сработало, поэтому я также включил их в событие form_load.

Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.Dock = DockStyle.Fill
ReSizeAndArrange(Me.Width, Me.Height, False)

Функция ReSizeAndArrange вызывается на form_load иform_layout событий.Проблема, которую я имею, состоит в том, что дочерние формы не заполняют оставшееся пространство правильно или в этом отношении всю родительскую форму.Когда я делаю шаг, вот координаты, которые я получаю для дочерней формы.

frmContainer.Size   {Width = 972 Height = 972}  System.Drawing.Size
me.Size     {Width = 968 Height = 901}  System.Drawing.Size
frmContainer.ToolStripMain.Size {Width = 954 Height = 67}   System.Drawing.Size
frmContainer.Location   {X = 90 Y = 22} System.Drawing.Point
me.Location     {X = -9 Y = -36}    System.Drawing.Point

Разве Me.Location не должно быть 0,0?Цифры складываются в размеры, я думаю.Разница в 4 пикселя может быть объяснена границей, однако, местоположение необъяснимо.Кто-нибудь может расшифровать это?

Ответы [ 2 ]

0 голосов
/ 02 июня 2013

Это потому, что 0, 0 не накладывает ограничений на размер / макет формы.Это позволяет решать.Любое значение, которое вы вводите, заставляет форму соответствовать ВАШИМ спецификациям.0, 0 - это не обходной путь, это способ сделать это самостоятельно.

0 голосов
/ 04 января 2012

ОК, я решил проблему сам, просто установив местоположение формы в (0,0). Это все еще не отвечает на вопрос, но это обходной путь.

...