Nrl Syfiqah Ответов: 1

C# - максимизировать winform, расположенную в панели


Мне удалось организовать несколько форм, которые будут расположены на 1 оконной форме внутри каждой панели для каждой формы. Что у меня есть проблема, так это то, что всякий раз, когда я хочу максимизировать winform внутри панели на весь экран, он максимизируется только на панели, а не на экране ПК. Код ниже показывает, как я просматриваю winform на панели.

панель 1.Док = DockStyle.Fill; <------ этот код каким-то образом работает, чтобы максимизировать его, но почему форма расположена сзади, а не плавает сверху

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

Цитата:
con = новый MySqlConnection(cs);

Centile_Chart centile = новая Centile_Chart();
процентиль.Топлевел = ложь;
панель 1.Управления.Добавить(центиль);
панель 1.Док = DockStyle.Заполнить;
процентиль.Покажите();

Richard MacCutchan

Насколько я знаю, элементы управления внутри панели не могут выходить за ее пределы.

Nrl Syfiqah

Кажется, это так, или я должен просто поместить все формы в фиксированное положение родительской формы с размером по умолчанию, а не поместить все формы внутри панели?

Richard MacCutchan

Единственная форма, которую можно развернуть, - это основная форма, не имеющая родителя; это означает, что рабочий стол фактически является ее родителем. Если вы хотите развернуть форму на весь экран, то она должна быть отдельно стоящей.

Nrl Syfiqah

самый близкий ответ, который я получаю, - это использование
1)форма.Док = DockStyle.Заполнить; &ЛТ;------это максимально полная панель
2)панель.Док = DockStyle.Fill; <-----этот способный заполнить док-станцию родителя, но он расположен позади другого текста/формы

Richard MacCutchan

Да, по причинам, которые я уже объяснил. Вам нужно понять, как на самом деле работают Windows и Windows Forms. Каждое окно-это дитя какого-то другого окна. Те, которые находятся на рабочем столе (обычно основные формы), могут расширяться, чтобы заполнить экран. Те, которые являются дочерними элементами других окон, могут расширяться только для заполнения их родительского элемента управления, основной формы, панели, диалогового окна и т. д.

Nrl Syfiqah

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

Richard MacCutchan

Тогда вы, должно быть, делаете что-то не так. Но здесь никто не может догадаться, что это может быть.

1 Ответов

Рейтинг:
7

Maciej Los

Попробовать это:

centile.TopMost = true;
centile.TopLevel = false;
centile.Dock = DockStyle.Fill;
panel1.Controls.Add(centile);
centile.Show();


Nrl Syfiqah

процентиль.Док = DockStyle.Заполнить;

когда я использую это, оно только увеличивает Макс до размера панели вместо полноэкранного режима