Christopher Fernandes Ответов: 1

Управления menustrip расширяется по вертикали при виде ребенка увеличены в родительской MDI


У меня есть приложение windows forms, в котором есть одна родительская форма MDI с одной полосой меню только в самом родителе и много дочерних форм. Проблема, с которой я сталкиваюсь, заключается в том, что полоса меню расширяется вертикально, когда я разворачиваю дочернюю форму в родительской форме MDI.
Смотрите ниже скриншоты на imgur
Нормальное состояние Нажмите, чтобы увидеть нормальный
Максимизированное состояние Нажмите, чтобы увидеть развернутый

Видеть это

Это код родительского конструктора MDI
//
// frmManager
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.AliceBlue;
this.BackgroundImage = global::DeskTimeWinApp.Properties.Resources.DeskTimeFullBrandLogo;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.ClientSize = new System.Drawing.Size(1184, 711);
this.Controls.Add(this.ManagerMenu);
this.DoubleBuffered = true;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.IsMdiContainer = true;
this.MainMenuStrip = this.ManagerMenu;
this.MaximumSize = new System.Drawing.Size(1920, 1080);
this.MinimumSize = new System.Drawing.Size(1200, 750);
this.Name = "frmManager";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Manager";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmManager_FormClosing);
this.Load += new System.EventHandler(this.frmManager_Load);
this.ManagerMenu.ResumeLayout(false);
this.ManagerMenu.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();


Это код управления menustrip из конструктора
//
// ManagerMenu
//
this.ManagerMenu.BackColor = System.Drawing.Color.AliceBlue;
this.ManagerMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.taskMenuItem,
this.taskMasterMenuItem,
this.employeeMenuItem,
this.employeeReportsMenuItem,
this.reportsMenuItem,
this.versionMenuItem,
this.helpMenuItem});
this.ManagerMenu.Location = new System.Drawing.Point(0, 0);
this.ManagerMenu.Name = "ManagerMenu";
this.ManagerMenu.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
this.ManagerMenu.Size = new System.Drawing.Size(1184, 24);
this.ManagerMenu.TabIndex = 0;
this.ManagerMenu.Text = "menuStrip1";


Что я уже пробовал:

Я изменил якорные и док-свойства полосы меню и даже один раз удалил и добавил новую полосу меню.

Richard MacCutchan

Слишком большая часть изображения отредактирована.

Christopher Fernandes

Это изображение-просто значок родительской формы. Не могли бы вы сказать мне, почему полоса меню расширяется?

Richard MacCutchan

Да и как я мог? Я понятия не имею, что делает ваш код.

Richard MacCutchan

Возьмите фоновое изображение и посмотрите, что произойдет.

Gerry Schmitz

Вы "растягиваете", но поскольку вы не показываете никакого кода, никто не знает, как это сделать, потому что обычно существует более одного способа.

Christopher Fernandes

Какой код вам нужен? Наверное, дизайнерский код?

Gerry Schmitz

"Свойства" полосы меню. Абсолютной калибровки быть не должно. "Стандартное / стандартное" позиционирование / выкладка обычно достаточны; это настройка, которая обычно идет не так. Вы создаете минимальную систему меню, которая "работает"; только тогда вы получаете фантазию.

https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.menustrip?view=net-5.0

Christopher Fernandes

Я добавил дизайнерский код то есть я еще ничего не сделал в cs файле формы

1 Ответов

Рейтинг:
0

BillWoodruff

Убедитесь, что MenuStrip закреплен сверху (его настройка по умолчанию, если вы перетаскиваете его во время разработки) в главном/Родительском окне MDI.