Steven Borges Ответов: 3

C# - форма внутри панели


Я немного новичок в C# и хотел бы знать, как я могу разместить форму внутри панели.
Google помог немного понять концепцию этого, но я, похоже, пока не могу ее реализовать.

Если кто-нибудь сможет мне помочь, я буду очень благодарен.

Спасибо!

AshishChaudha

веб или windows??

3 Ответов

Рейтинг:
12

Ganesan Senthilvel

Вам было бы лучше создать каждую панель как UserControl. Они похожи на формы, но без элементов окна. Вот пример кода:

Form1 myForm = new Form1();
myForm.TopLevel = false;
myForm.AutoScroll = true;
frmMain.Panel2.Controls.Add(myForm);
myForm.Show();


Steven Borges

Спасибо, это сработало, хотя я не использовал frmMain в вашем коде, я просто использовал:
Панель Управления 2.Добавьте(myForm), и он, кажется, работает отлично.

loserkidz32

в моей панели есть текстовое поле и форма , но когда я запускаю этот userControl, переопределение места userControl с моей формой (текстовое поле и метка) как это исправить?

Mehdi Gholam

5'ed, и добавил еще немного в мой раствор :)

elaznajib

я использую это решение в прошлые выходные, это работа, но если вы используете controllname.Выбрать(); просто использовать это.контроля.очистить(); в метод onclose() функцию, чтобы уменьшить пространство в оперативной памяти

Nganku Junior

Кудос, братан!!! Отличный код

Member 13979964

с

Рейтинг:
1

Mehdi Gholam

Просто чтобы добавить к решению Ganesan Senthilvel, вы должны установить следующее, Чтобы удалить границу windows, кнопки max/min и т. д.

myForm.FormBorderStyle = FormBorderStyle.None;


Steven Borges

Да, я уже собирался сделать это много, но Уилл 5'ed вас в любом случае, потому что люди, которые еще больше новичок, чем я, найдут это полезным, а также ;)

Рейтинг:
0

xin tom

Форма form1 myform в = новые формы form1();
ссылки.Топлевел = ложь;
ссылки.Автопрокрутка = истина;
мыши frmmain.Панель Управления 2.Добавить(ссылки);
ссылки.Formborderstyle Значение = Formborderstyle Значение.Никто;
ссылки.Показать();


BillWoodruff

Вы ответили на вопрос более чем двухлетней давности и не добавили ничего такого, чего уже не было в других ответах.

Member 13927827

в Мыши frmmain.Panel2 был с ошибкой, неужели вы все сталкиваетесь с одним и тем же?

stefan27dk

Привет, вы просто напишите название своей панели, в которой вы хотите загрузить форму.
Например, panel2.Controls.Добавить(form3);

Если вы хотите загрузить разные формы в одну общую панель, которая находится, скажем, посередине, и у вас есть кнопки над панелью, поэтому при нажатии кнопки a в "panel2" появится другая форма, я называю ее Loader_panel.


частный недействительными HideAllForms()
{
SagerForm2.Скрыть();
AdvokaterForm3.Скрыть();
MedarbejderForm6.Скрыть();
SekretaerForm7.Скрыть();
YdelserForm8.Скрыть();
KunderForm9.Скрыть();
Form10.Скрыть();
HomeForm11.Скрыть();
DeveloperForm12.Скрыть();

}


//"Скрыть все остальные формы, предназначенные для отображения на панели"
HideAllForms(); // это метод

Form10.TopLevel = false; // если он не false, вы не можете добавить его элементы управления на панель
Loader_panel.Управления.Add(Form10); // "Loader_panel" - это имя панели, в которую вы будете загружать формы
Form10.FormBorderStyle = Система.Окна.Формы.Formborderstyle значение.Нет; //удаляет границу
KoerselForm10.Док = DockStyle.Fill; // это важно, чтобы форма автоматически изменялась при изменении размера окна


в противном случае он останется того же размера, даже если вы измените размер окна. Конечно, вам нужно будет иметь стиль док-станции Loader_panels, чтобы быть, скажем, средним. Таким образом, у вас есть панель с кнопками сверху, которая является dockStyle Top и Loader_panel dockStyle middle. Поэтому, когда вы изменяете размер своей формы, загруженные формы в Loader_panel изменяются как окно.